FreeBSD 下 MySQL 安装与基本维护

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。


FreeBSD 下 MySQL 的安装(portsnap 源码安装)


更新 ports 树,以便安装最新版本,在类UNIX社区,这是传统的安装形式之一。
 
1.下载最新的 ports包更新ports树,如果无需更新可从第3步开始。
# portsnap fetch
或者跳过第2步一次完成释放
# portsnap fetch extract
2.将下载好的 ports包释放到 /usr/ports。
# portsnap extract
3.进入 ports 的 mysql 目录
# cd /usr/ports/databases/mysql56-server
4.输入编译参数
# make with_xcharse=yes build_optimized=yes build_static=yes insatll clean


编译无误并完成后,向 rc.conf 添加 mysql_enable="YES" 可以让 mysql 在 OS 启动时启动

/usr/local/etc/rc.d/mysql-server 命令可以直接操作 mysql 启动或停止。


解决中文问题

默认情况下 mysql 服务器是拉丁字符集,mysql 服务端控制台输入 show variables like 'character%' 命令查看服务器字符集。

FreeBSD 下 MySQL 安装与基本维护_第1张图片

解决这个问题,可以编辑服务端 my.cnf 文件,通常在 /usr/local/ 位置。

在 [mysqld] 下添加一行 character_set_server=utf8,然后保存。


重启 mysql 服务器,再次查看环境参数。


已经是 utf-8,这时可以很好的处理中文了,而客户端同样也需要添加 character_set_client=utf8 以保持一致防止编码错误。


mysql 账号维护


以 root 登录 mysql
# mysql -r root -p password

允许 root 账号从 10.0.0.2 IP 访问,并设置密码为 123456
mysql>grant all privileges on *.* to 'root'@'10.0.0.2' identified by '123456' with grant option;   
mysql>flush privileges;

让 root 账号可以被远程访问,并设置密码 123456
mysql>grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
mysql>flush privileges;

修改密码方法 1,基本方法
mysql>set password =password('newpassword');
mysql>flush privileges;

修改 root 的 localhost 的密码方法, 2,使用 grant 语句 
mysql>grant all on *.* to 'root'@'localhost' identified by 'newpassword' with grant option;
mysql>flush privileges;

修改密码方法 3, 直接修改表
mysql>use mysql;
mysql>update user set password=password('newpassword') where user='root'; 

mysql>flush privileges;


主键环境下批量删表:

在批量删除表时,往往有主键关联,无法顺利删除,可以暂时关闭主键检查,再执行批量删除时,将不再发生错误,但这个操作应该仅仅用于在开发环境重建表时使用,生产环境慎用!!!

set FOREIGN_KEY_CHECKS = 0;



有问题Q群讨论:236201801


你可能感兴趣的:(mysql,中文,FreeBSD,密码,字符集)