CentOS6 安装 MySQL5.7

CentOS 6.10 编译安装 Mysql 5.7.23 X64
1、添加用户组和用户

  1. 添加用户组和用户

groupadd mysql

  1. 添加用户

useradd -g mysql -s /bin/nologin mysql -M

nologin选项代表这是启动服务使用的账号,不登录
-M 不创建home目录

2、确认selinux状态是否为disabled

vi /etc/selinux/config

3、卸载系统自带的Mysql包
rpm -qa | grep mysql
如果有的话使用
yum remove mysql-libs-5.1.73-3.el6_5.x86_64

4、安装依赖的包,是的就这么几个包,不需要先安装安装boost0.1.59.0

yum -y install wget gcc-c++ ncurses-devel cmake

-y 就是不用每个包都按一边yes

Installing : mpfr-2.4.1-6.el6.x86_64 1/8
Installing : cpp-4.4.7-23.el6.x86_64 2/8
Installing : ppl-0.10.2-11.el6.x86_64 3/8
Installing : cloog-ppl-0.15.7-1.2.el6.x86_64 4/8
Installing : gcc-4.4.7-23.el6.x86_64 5/8
Installing : libstdc++-devel-4.4.7-23.el6.x86_64 6/8
Installing : gcc-c++-4.4.7-23.el6.x86_64 7/8
Installing : ncurses-devel-5.7-4.20090207.el6.x86_64 8/8
Verifying : ncurses-devel-5.7-4.20090207.el6.x86_64 1/8
Verifying : gcc-c++-4.4.7-23.el6.x86_64 2/8
Verifying : gcc-4.4.7-23.el6.x86_64 3/8
Verifying : mpfr-2.4.1-6.el6.x86_64 4/8
Verifying : cpp-4.4.7-23.el6.x86_64 5/8
Verifying : libstdc++-devel-4.4.7-23.el6.x86_64 6/8
Verifying : ppl-0.10.2-11.el6.x86_64 7/8
Verifying : cloog-ppl-0.15.7-1.2.el6.x86_64 8/8

5、安装

1)下载最新的 mysql-boost-5.7.23.tar.gz #下载这个可以少很多坑.具体版本号到mysql网站上看一下
cd /usr/local/src 执行下面的下载,或者将包拷贝到此目录

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz

2)解压并安装
设定安装目录为 /usr/local/mysql 也可以指定到别处,相当于basedir

tar -zxvf mysql-boost-5.7.23.tar.gz

cd mysql-boost-5.7.23

注意指定正确的mysql安装位置 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=boost/boost_1_59_0

make && make install

3)进入到mysql的basedir,创建data目录

cd /usr/local/mysql

mkdir data

4)将此目录的用户和属组切换到mysql
chown -R mysql:mysql /usr/local/mysql

5)初始化数据库
注意此处要复制执行后回显的数据库密码用户后期登录

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

数据库密码(每次安装都不同):

注:

1)"--initialize"会生成一个随机密码(~/.mysql_secret),而"--initialize-insecure"不会生成密码
2)--datadir目标目录下不能有数据文件
3)使用--initialize参数后,一定要复制密码保存在上面的相应位置。

6、拷贝启动文件到/etc/init.d/并重命名

cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

7、创建配置文件

vim /etc/my.cnf

[mysqld]
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock

log-error=

pid-file

[client]
socket=/tmp/mysql.sock

8、启动mysql

service mysqld start

/etc/init.d/mysqld start

9、登录mysql验证安装成功

/usr/local/mysql/bin/mysql -uroot -p
输入之前记录的数据库密码

登录后执行如下命令,并看到如下输出代表成功
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)

10、修改root密码

mysql>set password = password(‘新密码‘);
mysql>flush privileges;
mysql>exit

11、退出并重新登录mysql

/usr/local/mysql/bin/mysql -uroot -p

输入密码

12、添加环境变量
vi /etc/profile 或 ~/.bash_profile
末尾添加如下
/usr/local/mysql/bin:/usr/local/mysql:$PATH

让添加生效

source /etc/profile source ~/.bash_profile

13、开机自启动
chkconfig mysqld on

14、防火墙的配置,否则外网进不来,这个步骤要多试几次,因为防火墙有时候有问题

vi /etc/sysconfig/iptables 加入如下一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #放行这个端口

-A INPUT -p tcp -m tcp -s 192.168.89.1 --dport 3306 -j ACCEPT #现在某个IP从某个端口进入,多个IP需要多行逐个控制。

service iptables reload

service iptables restart

15、root用户的远程访问
1)mysql> use mysql
2)mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

3)mysql> update user set host='%' where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

16、重启测试服务器测试
shutdown -r now

posted @ 2018-09-26 14:38  点滴成事  阅读(703)  评论(0编辑  收藏  举报