joe

centos6.5下安装mysql

1.使用yum命令安装mysql

[root@bogon ~]#  yum -y install mysql-server

2.设置开机启动

[root@bogon ~]#  chkconfig mysqld on

3.启动MySQL服务

[root@bogon ~]#  service mysqld start

4.设置MySQL的root用户设置密码

[root@bogon ~]#  mysql -u root  
mysql> select user,host,password from mysql.user;  
+------+-----------+----------+  
| user | host      | password |  
+------+-----------+----------+  
| root | localhost |          |  
| root | bogon     |          |  
| root | 127.0.0.1 |          |  
|      | localhost |          |  
|      | bogon     |          |  
+------+-----------+----------+  
5 rows in set (0.01 sec)

查询用户的密码,都为空,用下面的命令设置root的密码为root

mysql> set password for root@localhost=password('root');  
mysql> exit

5.用新密码登陆

[root@bogon ~]#  mysql -u root -p  
Enter password:

6.创建mysql新用户test_user

mysql> create user 'test_user'@'%' identified by 'test_user';  
Query OK, 0 rows affected (0.00 sec)

7.给新用户test_user授权,让他可以从外部登陆和本地登陆
注意:@左边是用户名,右边是域名、IP和%,表示可以访问mysql的域名和IP,%表示外部任何地址都能访问

mysql> grant all privileges on *.* to 'test_user'@'localhost' identified by 'test_user';  
Query OK, 0 rows affected (0.00 sec)  
mysql> grant all privileges on *.* to 'test_user'@'%' identified by 'test_user';  
Query OK, 0 rows affected (0.00 sec)  
mysql> select user,host,password from mysql.user;  
+----------+-----------+-------------------------------------------+  
| user     | host      | password                                  |  
+----------+-----------+-------------------------------------------+  
| root     | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |  
| root     | bogon     |                                           |  
| root     | 127.0.0.1 |                                           |  
|          | localhost |                                           |  
|          | bogon     |                                           |  
| test_user | %         | *3046CF87132BBD4FDDF06F321C6859074843B7D3 |  
| test_user | localhost | *3046CF87132BBD4FDDF06F321C6859074843B7D3 |  
+----------+-----------+-------------------------------------------+  
7 rows in set (0.00 sec)  
mysql> flush privileges;  
Query OK, 0 rows affected (0.01 sec)

8.查看mysql5.1的默认存储引擎
从下面的执行结果可以看出,mysql的默认引擎是MyISAM,这个引擎是不支持事务的。

mysql> show engines;  
+------------+---------+------------------------------------------------------------+--------------+------+------------+  
| Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |  
+------------+---------+------------------------------------------------------------+--------------+------+------------+  
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |  
| CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |  
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |  
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |  
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |  
+------------+---------+------------------------------------------------------------+--------------+------+------------+  
5 rows in set (0.00 sec)

也可以以下面的方式查看

mysql> show variables like 'storage_engine';  
+----------------+--------+  
| Variable_name  | Value  |  
+----------------+--------+  
| storage_engine | MyISAM |  
+----------------+--------+  
1 row in set (0.00 sec)

9.修改mysql的默认引擎为InnoDB
9.1 停止mysql

mysql> exit;  
[root@bogon ~]# service mysqld stop

9.2 修改/etc/my.cnf
[mysqld] 后加入

default-storage-engine=InnoDB

加入后my.cnf的内容为:

[root@bogon etc]# more my.cnf  
[mysqld]  
datadir=/var/lib/mysql  
socket=/var/lib/mysql/mysql.sock  
user=mysql  
# Disabling symbolic-links is recommended to prevent assorted security risks  
symbolic-links=0  
  
default-storage-engine=InnoDB  
  
[mysqld_safe]  
log-error=/var/log/mysqld.log  
pid-file=/var/run/mysqld/mysqld.pid

9.3 启动mysql

[root@bogon etc]# service mysqld start  
Starting mysqld:  [  OK  ]

9.4 查看mysql默认存储引擎

[root@bogon etc]# mysql -u root -p  
Enter password:   
Welcome to the MySQL monitor.  Commands end with ; or \g.  
Your MySQL connection id is 2  
Server version: 5.1.73 Source distribution  
  
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.  
  
Oracle is a registered trademark of Oracle Corporation and/or its  
affiliates. Other names may be trademarks of their respective  
owners.  
  
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  
  
mysql> show variables like 'storage_engine';  
+----------------+--------+  
| Variable_name  | Value  |  
+----------------+--------+  
| storage_engine | InnoDB |  
+----------------+--------+  
1 row in set (0.00 sec)

10.CentOS6.5开放mysql端口3306
CentOS6.5默认是不开放端口的,如果要让外部的系统访问CentOS6.5上的mysql,必须开放mysql的端口3306
10.1 修改/etc/sysconfig/iptables
添加下面一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

修改后iptables中的内容是

[root@bogon etc]# more /etc/sysconfig/iptables  
# Firewall configuration written by system-config-firewall  
# Manual customization of this file is not recommended.  
*filter  
:INPUT ACCEPT [0:0]  
:FORWARD ACCEPT [0:0]  
:OUTPUT ACCEPT [0:0]  
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
-A INPUT -p icmp -j ACCEPT  
-A INPUT -i lo -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
#添加配置项  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  
-A INPUT -j REJECT --reject-with icmp-host-prohibited  
-A FORWARD -j REJECT --reject-with icmp-host-prohibited  
  
COMMIT

11.重启防火墙

[root@bogon etc]# service iptables restart

这样就可以从外部访问mysql了。

至此,mysql在CentOS6.5上的安装过程、用户创建、外部访问的步骤全部完成。


码字很辛苦,转载请注明来自朱一兵的博客《centos6.5下安装mysql》

评论