日期:2014-05-16  浏览次数:20917 次

第七章 第五节 MySql配置及相关命令

??????? MySQL安装完毕后我们需要对它进行一些设置及性能优化,主要包括字符集设置,启动设置,连接优化,表优化,分区优化等等。

?

??????? 一 修改MySQL密码及用户

??????? 1.修改mysql用户密码:
??????? 默认安装的mysql初始root用户没有密码,需要运行mysql,进入mysql命令状态,运行命令:

select Host , User , Password from user; 显示当前用户和密码。
update user set password=password('123456') where user='root'; 修改root用户密码

?

??????? 2.另一种修改密码的方法:

??????? shell状态下输入命令:?
????????

usr/bin/mysqladmin -u root password 'new-password' 

?
??????? 格式:mysqladmin -u用户名 -p旧密码 password 新密码
  ?eg:?
??????? 给root加个密码123456。?
??????? 输入以下命令 :

/usr/bin/mysqladmin -u root password '123456'

??????? 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。


??????? 3.添加mysql用户:

insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("%","ccs",password("ccs"),'','','');

???????? ‘%’代表任何ip都可以访问,可以根据具体情况设置成指定ip。


??????? 4.授权mysql用户:

grant all privileges on 数据库.表 to db1@ip identified by '密码';
flush privileges; 刷新权限表

???????? 数据库:代表授权的数据库,eg:db1
??????? 表:代表授权的表,*代表所有表
??????? db1@ip:代表用户和ip
??????? 密码:输入该用户的密码
??????? all:代表所有操作权限,可以根据情况配置,eg:select,updat,delete,add

?

????????二 设置MySQL字符集

??????? 1.修改mysql字符集:
??????? 进入mysql,运行命令:

show variables like 'char%';
结果:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary|
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir| /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

?

??????? 再输入以下命令:

SHOW VARIABLES LIKE 'collation_%';
结果:
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)


??????? 如果显示结果不是如上所示则:
??????? 修改etc目录下的my.cnf,增加:

[client]
default-character-set=utf8
 
[mysqld]
default-character-set=utf8
init_connect='SET NAMES utf8'
 
[mysql]
default-character-set=utf8

?
??????? 2.重启mysql:

etc/init.d/mysql   [start | stop | restart]

?
??????? 3.修改系统字符集:
??????? 修改etc目录下的profile,增加:

export LANG=zh_CN.UTF-8
export LC_CTYPE="zh_CN.UTF-8"
export LC_NUMERIC="zh_CN.UTF-8"
export LC_TIME="zh_CN.UTF-8"
export LC_COLLATE="zh_CN.UTF-8"
export LC_MONETARY="zh_CN.UTF-8"
export LC_MESSAGES="zh_CN.UTF-8"
export LC_PAPER="zh_CN.UTF-8"
export LC_NAME="zh_CN.UTF-8"
export LC_ADDRESS="zh_CN.UTF-8"
export LC_TELEPHONE="zh_CN.UTF-8"
export LC_MEASUREMENT="zh_CN.UTF-8"
export LC_IDENTIFICATION="zh_CN.UTF-8"

?

??????? 三 启动与停止
??????? 1.启动
   MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令:

/etc/init.d/mysql start

?
   2.停止MySQL

/usr/bin/mysqladmin -u root -p shutdown

?
   3.自动启动
   (1)察看mysql是否在自动启动列表中:

/sbin/chkconfig –list 

?

   (2)把MySQL添加到你系统的启