记录下如何在AWS EC2 linux服务器中部署MYSQL5.7(方法有很多,这是其中比较顺手的一种-.-)
1.SSH远程登录你的Linux服务器
2.安装MYSQL
使用yum命令安装:
[ec2-user@mg3 ~]$ yum list |grep mysql
mysql-config.x86_64 5.5.61-1.22.amzn1 @amzn-updates
mysql57.x86_64 5.7.23-2.8.amzn1 @amzn-updates
mysql57-common.x86_64 5.7.23-2.8.amzn1 @amzn-updates
mysql57-devel.x86_64 5.7.23-2.8.amzn1 @amzn-updates
mysql57-embedded.x86_64 5.7.23-2.8.amzn1 @amzn-updates
mysql57-embedded-devel.x86_64 5.7.23-2.8.amzn1 @amzn-updates
mysql57-errmsg.x86_64 5.7.23-2.8.amzn1 @amzn-updates
mysql57-libs.x86_64 5.7.23-2.8.amzn1 @amzn-updates
mysql57-server.x86_64 5.7.23-2.8.amzn1 @amzn-updates
mysql57-test.x86_64 5.7.23-2.8.amzn1 @amzn-updates
[ec2-user@mg3 ~]$ sudo yum -y install mysql57*
[ec2-user@mg3 ~]$ mysql --version
mysql Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using EditLine wrapper
安装完毕后,mysql 数据库路径在/var/lib/mysql ,配置文件路径为/etc/my.cnf,至此可以启动MYSQL服务了:
[ec2-user@mg3 ~]$ sudo service mysqld start
设置你的mysql root密码:
[ec2-user@mg3 ~]$ sudo /usr/bin/mysqladmin -u root password '你的密码'
最后别忘了到EC2 CONSLE页面的Security Groups中配置开放3306端口,否则会被AWS墙了!
3.设置mysql编码
使用MYSQL前配置编码很重要,设置正确的编码,否则很多数据操作会遇到各种乱七八糟的问题。
先查看当前数据库编码状态:进入MYSQL
SHOW VARIABLES LIKE 'character_set_%';
由于没有进行过设置,编码配置为默认的:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
把latin1改成UTF8,需要修改/etc/my.cnf
sudo vim /etc/my.cnf
找到[mysqld] 标签,加入:
character_set_server=utf8
保存退出,重新启动mysql服务,编码就修改成功了!
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
rows in set (0.00 sec)
4.创建新用户,并授予远程登录权限
如果我们要使用例如NAVICAT的图形化管理软件远程登录mysql或需要远程登录mysql操作,需要对用户授予远程登录权限
在root下创建一个新mysql用户:
insert into mysql.user(Host,User,Password) values("%","test",password("1234"));
grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";
flush privileges;
这样就创建了一个名为test,密码为1234,可以在任意地点登录的用户。
其中Host='%'意为可以在任意IP登录,如果需要指定可登陆IP,将‘%’替换为指定登录的IP就行了
。
enjoy!!