在CentOS 6.8mini上安装了MySQL 5.7.20,使用的方式是从MySQL官网下载的tar源码包安装,要注意的是如果是在VM里安装的话会特别占用空间的,安装完后会占用10G的空间,编译的目录就占用5个多G,在VM里删除文件占用的空间并不会减小,可以运行vmware-toolbox进行空间回收,前提是安装了vmware-tools。如果不想麻烦的话,最好还是用RPM包安装只占用1G空间,下面是具体的安装步骤:
1.安装依赖。
[root@XiaoFeng opt]# yum -y install wget gcc gcc-c++ make cmake ncurses ncurses-devel libaio bison bison-devel perl perl-devel perl perl-devel
2.下载MySQL,带boost的,就不用单独安装boost了
[root@XiaoFeng opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz
3.解压安装包
[root@XiaoFeng opt]# tar zxvf mysql-boost-5.7.20.tar.gz -C /usr/local [root@XiaoFeng opt]# cd /usr/local/mysql-5.7.20
4.配置用户和用户组
[root@XiaoFeng mysql-5.7.20]# groupadd mysql #创建mysql组 [root@XiaoFeng mysql-5.7.20]# useradd -r -g mysql -s /bin/false mysql #创建mysql用户,并加入到mysql组,不允许mysql用户直接登录系统 [root@XiaoFeng mysql-5.7.20]# mkdir -p /data/mysql #创建mysql数据库存放目录 [root@XiaoFeng mysql-5.7.20]# chown -R mysql:mysql /data/mysql #设置mysql数据库目录权限
5.编译安装mysql
[root@XiaoFeng mysql-5.7.20]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_DATADIR=/data/mysql \ -DMYSQL_USER=mysql \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_BOOST=boost [root@XiaoFeng mysql-5.7.20]#make && make install
6.初始化mysql
[root@XiaoFeng mysql-5.7.20]#cd /usr/local/mysql [root@XiaoFeng mysql]# chown -R mysql:mysql ./ #设置目录权限 [root@XiaoFeng mysql]# bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql [root@XiaoFeng mysql]# bin/mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
7.修改配置文件,support-files目录下面默没有my-default.cnf,直接使用/etc目录下的my.cnf文件进行修改,需要什么配置自行添加
[mysqld] basedir=/usr/local/mysql datadir=/data/mysql #添加Mysql数据库路径 port=3306 socket=/tmp/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
8.设置开机启动
[root@XiaoFeng mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysql #复制启动文件到开机自动启动 [root@XiaoFeng mysql]# chmod 755 /etc/init.d/mysql #增加执行权限 [root@XiaoFeng mysql]# chkconfig --add mysql #添加到启动服务里 [root@XiaoFeng mysql]# chkconfig mysql on #加入开机启动 [root@XiaoFeng mysql]# chkconfig --list mysql mysql 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 [root@XiaoFeng mysql]# vim /etc/rc.d/init.d/mysql #编辑启动文件加入下面两行 basedir = /usr/local/mysql #mysql程序安装路径 datadir = /data/mysql #Mysql数据库存放目录 [root@XiaoFeng mysql]# service mysql start #启动服务 [root@XiaoFeng mysql]# vim /etc/profile #把Mysql服务加入系统环境变量:在最后添加下面这一行 export PATH=$PATH:/usr/local/mysql/bin [root@XiaoFeng mysql]# source /etc/profile #使PATH搜索路径立即生效
9.下面这两行把Mysql的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定Mysql的库文件地址。
[root@XiaoFeng mysql]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql [root@XiaoFeng mysql]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
10.配置远程登录账号,添加mysql账户sjd,并给管理员权限
[root@XiaoFeng mysql]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT [root@XiaoFeng mysql]# /etc/init.d/iptables save [root@XiaoFeng mysql]# mysql -uroot –p #登录数据库,默认密码为空 mysql> CREATE USER 'sjd'@'%' IDENTIFIED BY '123456'; mysql> GRANT ALL PRIVILEGES ON * . * TO 'sjd'@'%' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
Mysql遇到的问题:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
rm -rf /var/lib/mysql/mysql.sock 删除这个文件
ln -s /usr/local/mysql/tmp/mysql.sock /var/lib/mysql/mysql.sock 创建软链接
如果出现不存在这个 /var/lib/mysql/新建一个就可以了
就可以远程使用sjd远程登录mysql了,放张封面图
本文为 小风原创文章,转载无需和我联系,但请注明来自 小风博客www.hotxf.com