mysql安装完成以后的任务
mysql在Unix-like系统上安装完成后,必须初始化授权表,启动服务,确保它令人满意地工作,并随机器一起启动和停止,并在授权表中分配账号和密码.
在Unix-like系统上,授权表由mysql_install_db程序设置,在许多安装方式中如果数据库不存在这个程序会自动执行.在linux 上以RPM方式安装mysql , mysql_install_db程序会由服务器RPM自动执行
在其它的安装方式中,包括generic binary and source installs 将手动运行mysql_install_db
# cd/usr/local/mysql/ #scripts/mysql_install_db --help 获得mysql_install_db程序的帮助 #scripts/mysql_install_db--user=mysql --datadir=/mydata/data --random-passwords
使用--random-passwords选择后, 会为root用户分配一个随机密码并保存在/home/.mysql_secret文件中,使用这个root账号随机生成的密码登录数据库后如果不重设密码,就不能对数据库进行任何操作, 这个选项还设置帐号的密码过期flag, 删除mysql匿名用户.
使用mysqladmin管理mysql
mysql mysqladmin是mysql server 的客户端工具
# mysqladmin -u root password 'redhat' -p 修改root的密码 # mysqladmin version 查看mysql 的版本 检测mysql是否启动,是否能响应连接 # mysqladmin -u root shutdown 是否可以关闭mysqlserver # mysqld_safe --user=mysql & 校验能不能再次重启数据库 # mysqlshow mysql 检测是否可以从服务检索信息 # mysql -e "SELECTHost,Db,User FROM db" mysql
mysql测试:
mysql源码包中包含了基准测试套件可以在mysql-5.6.17/tests目录中找到,以如下方式使用
# cd software/mysql-5.6.17 # mysql -vvf -uroot -p test <./tests/auto_increment.tst
指派mysql用户的密码
查看受权表:
mysql> SELECT User, Host,Password FROM mysql.user;
修改root账户的密码,可以使用的方法:
使用set password语句
使用updata 语句
使用mysqladmin 客户端工具
set password语句的使用:
Syntax:
SET PASSWORD [FOR user] = { PASSWORD('cleartext password')
| OLD_PASSWORD('cleartext password') | 'encrypted password' }
如:
# mysql -u root -p mysql> SET PASSWORD FOR 'root'@'localhost' =PASSWORD('newpwd'); mysql> SET PASSWORD FOR 'root'@'127.0.0.1' =PASSWORD('newpwd'); mysql> SET PASSWORD FOR 'root'@'::1' =PASSWORD('newpwd'); mysql> SET PASSWORD FOR 'root'@'host_name' =PASSWORD('newpwd');
也可以只使用update语句为所有root用户指派密码:
在user表中直接使用UPDATE更新密码后,必须让服务器用FLUSH PRIVILEGES重新读授权表。否则,重新启动服务器前,不会使用更改。
Syntax:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}] ...[WHERE where_condition]
[ORDER BY ...] [LIMIT row_count]
如 :
shell> mysql -u root mysql> UPDATE mysql.user SET Password =PASSWORD('newpwd') WHERE User = 'root'; mysql> FLUSH PRIVILEGES;
FLUSH语句会导致mysql重读授权表,使对root密码的修改生效
使用mysqladmin修改mysql的用户名和密码:
# mysqladmin -u root -h host_name password "newpwd
# mysqladmin -u root password "newpwd" # mysqladmin -u root -p password "newpwd"
如果密码不包含特殊字符 , "newpwd"上的引号可以省略
使用set password语句修改匿名用户的密码:
shell> mysql -u root -p Enter password: (enter root password here) mysql> SET PASSWORD FOR ''@'localhost' =PASSWORD('newpwd'); mysql> SET PASSWORD FOR ''@'host_name' =PASSWORD('newpwd');
使用update 语句修改匿名用户的密码:
# mysql -u root -p Enter password: (enter root password here) mysql> UPDATE mysql.user SET Password =PASSWORD('newpwd') WHERE User = ''; mysql> FLUSH PRIVILEGES;
删除匿名用名:
# mysql -u root -pEnter password: (enter root password here) mysql> DROP USER ''@'localhost'; mysql> DROP USER ''@'host_name';