一:先来查下当前是否有安装mysql:rpm -qa |grep mysql
查询到我当前的系统有这个文件,那么进行删除。
二:对当前mysql进行删除:
rpm -e mysql-libs:普通删除
提示这个的原因是因为有依赖其他的文件,下面我们要进行强制删除:rpm -e --nodeps mysql-libs,删除后我们再用rpm-qa|grep mysql查询下
可以看到mysql已经删除完毕了
三:安装MySQL
1、安装编译代码需要的包:yum -y install make gcc-c++ cmake bison-devel ncurses-devel
此处yum命令如果执行失败,是因为CentOS6的镜像源被官方移除了,解决方法可以参考:
https://www.xmpan.com/944.html
2、下载Mysql,此处我准备了Mysql-5.6.14版本:
链接:https://pan.baidu.com/s/1xafm7mImEx-_RI-c4bv6eQ
提取码:34cj
3、下载好后,将安装包上传到/opt目录下
4、解压mysql压缩包:tar -zxvf mysql-5.6.14.tar.gz
5、进入到解压的mysql目录:cd mysql-5.6.14
6、执行编译安装:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
7、执行编译并且进行安装: make && make install
自此,Mysql已经安装完毕了,默认安装在了usr/local路径下,接下来进行MySQL配置
四:MySQL配置
1、新增mysql用户组与用户
使用cat /etc/group |grep mysql 查看是否有mysql用户组,没有则创建mysql用户组:groupadd mysql
使用cat /etc/passwd |grep mysql 查看是否有mysql用户,没有则创建mysql用户:useradd -g mysql mysql
2、修改/usr/local/mysql权限为mysql用户所有:chown mysql:mysql /usr/local/mysql
3、进入到mysql的安装路径,执行初始化配置脚本,创建系统自带的数据库和表
(1):进入mysql安装路径:cd /usr/local/mysql
(2):执行初始化配置:scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
4、启动mysql
(1)拷贝mysql.server服务文件到/etc/init.d/mysql目录下:cp support-files/mysql.server /etc/init.d/mysql
(2):设置mysql自动启动:chkconfig mysql on
(3):手动启动mysql:service mysql start
(4):查看mysql是否已启动:netstat -anp |grep mysql
证明myql已经启动成功
5、修改mysql密码
(1)切换到mysql的bin目录下:cd /usr/local/mysql/bin
(2)执行mysql文件:./mysql -uroot
(3)设置密码:
展示当前所有库:show databases;
使用mysql库:use mysql;
更新密码:update user set password=password('root');
6、配置mysql环境变量
(1)编辑/etc/profile文件,在PATH变量下追加mysql的bin路径
(2)刷新/etc/profile文件,使配置立即生效:source /etc/profile
(3)刷新后就可以在任意路径下连接mysql了:
五、设置mysql可以远程连接登录
1、首先在linux中连接上mysql,执行mysql语句:
use mysql;
select user,host from user;
发现当前的mysql配置是只允许linux本机连接的,下面配置成可以远程连接
(2)修改mysql可以远程连接: update user set host='%' where user='root';
此处会报个错误:Duplicat entry '%-root' for key 'PRIMARY',忽略即可
(3)刷新配置:flush privileges
(4)使用Windows的navicat连接到Linux的mysql测试:
连接失败,此处我首先猜测的原因是Linux开启了防火墙,连接不上,下面进行验证下:
查看防火墙状态:service iptables status
观察到防火墙确实是开启的,下面将防火墙关了:service iptables stop
再进行远程连接:
连接成功了,大功告成。