`

centOS yum 安装mysql

 
阅读更多

1:安装MySQL。

[root@sample ~]# yum -y install mysql-server  ← 安装MySQL

 

2:配置MySQL

[root@sample ~]#vim /etc/my.cnf  ← 编辑MySQL的配置文件

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

# Default to using old password format for compatibility with mysql 3.x

# clients (those using the mysqlclient10 compatibility package).

old_passwords=1  ← 找到这一行,在这一行的下面添加新的规则,让MySQL的默认编码为UTF-8

default-character-set = utf8  ← 添加这一行

然后在配置文件的文尾填加如下语句:

[mysql]

default-character-set = utf8

新版本中:

character-set-server=utf8

('--default-character-set' is deprecated and will be removed in a future release. Please use '--character-set-server' instead.)

 

3:设置MySQL服务自启动

[root@sample ~]# chkconfig mysqld on  ← 设置MySQL服务随系统启动自启动

[root@sample ~]# chkconfig --list mysqld  ← 确认MySQL自启动 

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 如果2--5为on的状态就OK

[root@sample ~]#/etc/rc.d/init.d/mysqld start  ← 启动MySQL服务

Initializing MySQL database:         [ OK ]

Starting MySQL:              [ OK ]

 

4:MySQL初始环境设定

[1]为MySQL的root用户设置密码

MySQL在刚刚被安装的时候,它的root用户是没有被设置密码的。首先来设置MySQL的root密码。

 

a)用root用户登录MySQL服务器

[root@sample ~]# mysql -u root  ← 用root用户登录MySQL服务器

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

 

b)查看用户信息

mysql> select user,host,password from mysql.user;  ← 查看用户信息

+------+------------------------------+---------------+

| user | host          | password |

+------+------------------------------+---------------+

| root | localhost        |       |  ← root密码为空 

| root | sample.centospub.com  |       |  ← root密码为空

|   | sample.centospub.com |       |

|   | localhost       |       |

|root | %                                 |XXX      |

|   |                            |       |

+------+------------------------------+---------------+

4 rows in set (0.00 sec)

 

c)设置root密码

mysql> ('在这里填入root密码');  ← 设置root密码

Query OK, 0 rows affected (0.01 sec)

mysql> set password for root@'sample.centospub.com'=password('在这里填入root密码');  ← 设置root密码

Query OK, 0 rows affected (0.01 sec)只有设置了这个才可以,才可以通过数据库来安装网址

 

d)让任何ip都可以通过用户root登录

mysql> set password for root@'%'=password('xxx');  ← 设置root密码

Query OK, 0 rows affected (0.01 sec)

mysql> select user,host,password from mysql.user;  ← 查看用户信息

+------+--------------------------------+--------------------------+

| user | host          | password     |

+------+--------------------------------+--------------------------+

| root | %         | 19b68057189b027f |  ← root密码被设置

| root | sample.centospub.com   | 19b68057189b027f |  ← root密码被设置

|    | sample.centospub.com   |          |

|    | localhost        |          |

+------+--------------------------------+--------------------------+

4 rows in set (0.01 sec)

mysql> exit  ← 退出MySQL服务器

Bye

 

e) 测试

然后,测试一下root密码有没有生效。

[root@sample ~]# mysql -u root  ← 通过空密码用root登录

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  ← 出现此错误信息说明密码设置成功

[root@localhost ~]# mysql -u root -h sample.centospub.com  ← 通过空密码用root登录

ERROR 1045 (28000): Access denied for user 'root'@'localhost'  (using password: NO)  ← 出现此错误信息说明密码设置成功

 

[root@sample ~]#mysql -u root -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g.  ← 确认用密码能够成功登录

Your MySQL connection id is 5 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit

Bye

 

[root@sample ~]# mysql -u root -h sample.centospub.com -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g.  ← 确认用密码能够成功登录

Your MySQL connection id is 6 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit  ← 退出MySQL服务器

Bye

 

5: 删除匿名用户

在MySQL刚刚被安装后,存在用户名、密码为空的用户。这使得数据库服务器有无需密码被登录的可能性。为消除隐患,将匿名用户删除。

[root@sample ~]# mysql -u root -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 7 to server version: 4.1.20

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select user,host from mysql.user;  ← 查看用户信息

+------+----------------------------+

| user | host         |

+------+----------------------------+

|   | localhost       |

| root | localhost       |

|   | sample.centospub.com |

| root | sample.centospub.com  |

+------+----------------------------+

4 rows in set (0.02 sec)

mysql> delete from mysql.user where user='';  ← 删除匿名用户

Query OK, 2 rows affected (0.17 sec)

mysql> select user,host from mysql.user;  ← 查看用户信息

+------+----------------------------+

| user | host         |

+------+----------------------------+

| root | localhost      |

| root | sample.centospub.com |

+------+----------------------------+

2 rows in set (0.00 sec)

mysql> exit  ← 退出MySQL服务器

Bye

好了,下面都不是必须的了!

测试MySQL

 

6:为mysql添加用户与授权

[root@sample ~]# mysql -u root -p  ← 通过密码用root登录

Enter password:  ← 在这里输入密码

 

a)新增用户

 

#新增test用户,用于测试所用; 使得guest用户具有查看所有数据库权限。 并可以通过任何网络进来

grant select on *.* to test@'%' identified by 'XXXXX';

 

#新增product用户,用于生产环境所用; 使得product用户完全操作制定数据库CURD权限。但是只能内网访问

grant select,insert,update,delete on test.* to product@'192.168.%' identified by 'XXXXX';

 

#新增admin用户,管理员所用;使得admin拥有所有的访问权限。并可以通过任何网络进来

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'XXXXX' WITH GRANT OPTION;

 

使之立即生效

FLUSH PRIVILEGES; 

 

 

7:删除测试用过的遗留用户。

[root@sample ~]# mysql -u root -p  ← 通过密码用root登录

 

mysql> revoke all privileges on *.* from centospub@localhost;  ← 取消centospub用户对数据库的操作权限

Query OK, 0 rows affected (0.00 sec)

mysql> delete from mysql.user where user='centospub' and host='localhost';  ← 删除centospub用户

Query OK, 1 row affected (0.01 sec)

mysql> select user from mysql.user where user='centospub';  ← 查找用户centospub,确认已删除与否

Empty set (0.01 sec)  ← 确认centospub用户已不存在

mysql> flush privileges;  ← 刷新,使以上操作生效

Query OK, 0 rows affected (0.01 sec)

mysql> exit

Bye

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics