jesseyoung 2016-11-20
个人比较喜欢 MySQL 的轻量,今天花了一点时间把云服务上的 MySQL5.7 换成了 Percona-Server ,Percona 是一个开源的 MySQL 衍生版。InnoDB的数据库引擎使得 Percona 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比的解决方案,它将是一个很好的选择。
安装
#安装 YUM 源
yum install http://www.percona.com/downloads/percona-release/RedHat/0.1-3/percona-release-0.1-3.noarch.rpm
#测试 YUM 源是否生效
yum list | grep percona
#安装 Percona-Server
yum install Percona-Server-server-57 Percona-Server-client-57
#启动服务
service mysqld start
#登录 MySQL
mysql -u root -p
mysql5.7.x 安装完成后会初始化一个 root 用户的随机密码,在 /var/log/mysqld.log 日志中可以查看到,也可以通过命令查找
[root@iZ11fek1j6cZ lib]# grep 'temporary password' /var/log/mysqld.log
2016-11-19T09:43:01.644617Z 1 [Note] A temporary password is generated for root@localhost: LibldhWL+9Fd
#修改密码
ALTER USER USER() IDENTIFIED BY 'xxxxxxx';
#重启 MySQL 服务
service mysql restart
#安装配置
[root@iZ11fek1j6cZ lib]# mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n
... skipping.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
#修改编码
vi /etc/my.cnf
[client]
default-character-set = utf8
[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci
#检查编码
[root@iZ11fek1j6cZ etc]# service mysqld restart
Redirecting to /bin/systemctl restart mysqld.service
[root@iZ11fek1j6cZ 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.7.15-9 Percona Server (GPL), Release 9, Revision 9f0fd0a
Copyright (c) 2009-2016 Percona LLC and/or its affiliates
Copyright (c) 2000, 2016, 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 '%char%';
+--------------------------------------+-------------------------------------+
| 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/percona-server/charsets/ |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------------------------------------+
9 rows in set (0.00 sec)
#开启启动服务
systemctl enable mysqld.service
#关闭防火墙
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
#开启远程连接
use mysql;
mysql>
update user set host = '%' where user = 'root';
mysql>select host, user from user;
#配置文件
Percona Server stores the data files in /var/lib/mysql/ by default. You can find the configuration file that is used to manage Percona Server in /etc/my.cnf.
REFER:
https://www.percona.com/doc/percona-server/5.7/installation/yum_repo.html
Percona Server 使用了一些 google-mysql-tools, Proven Scaling, Open Query 对 MySQL 进行改造。
Percona Server 的详细介绍:请点这里
Percona Server 的下载地址:请点这里