linux在线安装mysql数据库及简单配置

1. 安装MySQL

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

[root@sample ~]# yum -y install php-mysql    ← 安装php-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).

default-character-set = utf8  ← 添加这一行,或者character-set=server = utf8,根据不同的mysql版本

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--5on的状态就OK

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

Initializing MySQL database:         [ OK ]

Starting MySQL:              [ OK ]

4. 为MySQLroot用户设置密码

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

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

[root@sample ~]# mysql -u root   ←用root用户登录MySQL服务器,此时root无密码

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系统的用户信息

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

linux在线安装mysql数据库及简单配置

c) 为mysql系统的用户设置密码

mysql> set password for root@localhost=password('在这里填入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)只有设置了这个才可以通过数据库来安装网址

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

Query OK, 0 rows affected (0.01 sec)

d) 检查mysql系统的用户密码设置

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

linux在线安装mysql数据库及简单配置

e) 退出mysql服务器

mysql> exit  ← 退出MySQL服务器

Bye

f) 验证mysql系统的用户密码设置

[root@sample ~]# mysql -u root  ← 通过空密码用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.

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;  ← 查看用户信息

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

Query OK, 2 rows affected (0.17 sec)

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

linux在线安装mysql数据库及简单配置

6. 创建用户并授权

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

Enter password:  ← 在这里输入密码

第一种方式:

mysql> grant all privileges on test.* to centospub@localhost  identified by '在这里定义密码';  ← 建立对test数据库有完全操作权限的名为centospub的用户

Query OK, 0 rows affected (0.03 sec)

mysql> select user from mysql.user where user='centospub';  ← 确认centospub用户的存在与否

linux在线安装mysql数据库及简单配置

第二种方式:

GRANT ALL ON *.*To hugy@'%'IDENTIFIED BY '555' WiTH GRANT OPTION;

flush privileges;//刷新权限

mysql> exit  ← 退出MySQL服务器

Bye

7. 删除用户并收权

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

Enter password:  ← 在这里输入密码

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

8. 数据库的使用

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

Enter password:  ← 在这里输入密码

mysql> create database test;  ← 建立名为test的数据库

Query OK, 1 row affected (0.00 sec)

mysql> show databases;  ← 查看系统已存在的数据库

mysql> use test  ← 连接到数据库

Database changed

mysql> create table test(num int, name varchar(50));  ← 在数据库中建立表

Query OK, 0 rows affected (0.03 sec)

mysql> show tables;  ← 查看数据库中已存在的表

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

| Tables_in_test |

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

| test     |

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

1 row in set (0.01 sec)

mysql> insert into test values(1,'Hello World!');  ← 插入一个值到表中

Query OK, 1 row affected (0.02 sec)

mysql> select * from test;  ← 查看数据库中的表的信息

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

| num | name      |

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

| 1   | Hello World!  |

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

1 row in set (0.00 sec)

mysql> update test set name='Hello Everyone!';  ← 更新表的信息,赋予新的值

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from test;  ← 查看数据库中的表的信息

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

| num | name      |

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

| 1   | Hello Everyone! |  ← 确认被更新到新的值

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

1 row in set (0.01 sec)

mysql> delete from test where num=1;  ← 删除表内的值

Query OK, 1 row affected (0.00 sec)

mysql> select * from test;  ← 确认删除结果

Empty set (0.01 sec)

mysql> drop table test;  ← 删除表

Query OK, 0 rows affected (0.01 sec)

mysql> show tables;  ← 查看表信息

Empty set (0.00 sec)  ← 确认表已被删除

mysql> drop database test;  ← 删除名为test的数据库

Query OK, 0 rows affected (0.01 sec)

mysql> show databases;  ← 查看已存在的数据库

Empty set (0.01 sec)  ← 确认test数据库已被删除(这里非root用户的关系,看不到名为mysql的数据库)

mysql> exit  ← 退出MySQL服务器

Bye