悠然,淡定。
于喧闹之间寻一份安宁。

Linux安装MySQL 5.7

在Linux系统使用MySQL通用包安装MySQL 5.7

系统版本:RHEL 6.x / CentOS 6.x / Oracle-Linux 6.x,64位操作系统

1、创建MySQL安装目录

[root@hostname ~]# mkdir /data/dbwyzc -p

2、创建一个不允许登录的MySQL用户及组

[root@hostname ~]# groupadd mysql
[root@hostname ~]# useradd -g mysql -s /sbin/nologin -d /data/mysql mysql
Creating mailbox file: File exists
[root@hostname ~]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)

3、解压下载下来的MySQL安装包

[root@hostname ~]# mv /root/Desktop/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz /data/mysql/
[root@hostname ~]# cd /data/mysql/
[root@hostname mysql]# tar xf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
[root@hostname mysql]# ls
mysql-5.7.11-linux-glibc2.5-x86_64  mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
做个软连接到/usr/local/mysql
[root@hostname mysql]# cd /usr/local/
[root@hostname local]# ln -s /data/mysql/mysql-5.7.11-linux-glibc2.5-x86_64 mysql
[root@hostname local]# ls -l mysql
lrwxrwxrwx. 1 root root 46 Mar 24 02:43 mysql -> /data/mysql/mysql-5.7.11-linux-glibc2.5-x86_64

4、创建datadir及日志存储路径

[root@hostname local]# cd /data/dbwyzc/
[root@hostname dbwyzc]# ls
[root@hostname dbwyzc]# mkdir {data,logs}

5、授权

[root@hostname dbwyzc]# chown -R mysql.mysql /data/dbwyzc/
[root@hostname dbwyzc]# chown -R mysql.mysql /usr/local/mysql

6、因为是选择从MySQL压缩包中初始化MySQL,不是直接安装MySQL,需手动解决找不到mysql命令的问题

[root@hostname dbwyzc]# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
[root@hostname dbwyzc]# source /etc/profile

7、关闭防火墙及selinux

[root@hostname dbwyzc]#
[root@hostname dbwyzc]# vi /etc/sysconfig/selinux
SELINUX=disabled

8、修改my.cnf

[root@hostname dbwyzc]# vi /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/dbwyzc/data
socket=/tmp/mysql.sock
log-error=/data/dbwyzc/logs/mysqld.log
pid-file=/data/dbwyzc/mysqld.pid

9、初始化MySQL
在5.7中,推荐使用mysqld –initialize对数据库进行初始化(mysql_install_db已经不再推荐使用),在初始化时如果加上–initialize-insecure,则会创建空密码的 root@localhost 账号,否则会创建带密码的 root@localhost 账号,密码直接写在 log-error 日志文件中

[root@hostname mysql]# cd bin/
[root@hostname bin]# ./mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
2016-03-24 04:36:22 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-03-24 04:36:22 [ERROR]   The data directory needs to be specified.

[root@hostname bin]# mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize --initialize-insecure
[root@hostname bin]# ls /data/dbwyzc/data/
auto.cnf        ibdata1      ib_logfile1  performance_schema
ib_buffer_pool  ib_logfile0  mysql        sys
[root@hostname bin]# ls /data/dbwyzc/logs/
mysqld.log
[root@hostname bin]# cat /data/dbwyzc/logs/mysqld.log
2016-03-23T20:45:41.774933Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-03-23T20:45:43.665168Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-03-23T20:45:43.939168Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-03-23T20:45:44.025867Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 368bbcd5-f138-11e5-aad0-000c29f650ca.
2016-03-23T20:45:44.029664Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-03-23T20:45:44.031662Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

10、添加使用service快速启动MySQL

[root@hostname bin]# cd ../
[root@hostname mysql]# ls support-files/
magic  my-default.cnf  mysqld_multi.server  mysql-log-rotate  mysql.server
[root@hostname mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@hostname mysql]# service mysql start
Starting MySQL.                                            [  OK  ]
[root@hostname mysql]# mysql

mysql> set password=password('your-password');
文章为本站原创,转载请注明出处!IT栖息小站 » Linux安装MySQL 5.7
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专注于各种操作系统的软件的使用

联系我们