mysql基础系列2 mysql安装完成以后的任务

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';


你可能感兴趣的:(修改mysql用户的密码)