在Linux环境下搭建常用的开发环境,也算是做过不少类似的工作,但是都没有及时的总结记录过,所以这次想把这些基础工具的安装过程记录下来,方便以后参考。
官网下载地址:https://dev.mysql.com/downloads/mysql/
因为小组常用的Mysql数据库版本是5.6,所以此次安装的版本是5.6.40。
将下载下来的文件上传到服务器对应目录,一般情况下都是放在/user/loacl/目录下。在这里因为硬盘挂载的问题,放在/data/tool/目录下。
解压重命名
[root@i-9291EA3C ~]# tar -xvf mysql-5.6.40-linux-glibc2.12-x86_64.tar
[root@i-9291EA3C ~]# mv mysql-5.6.40-linux-glibc2.12-x86_64 mysql
添加用户组和用户
[root@i-9291EA3C ~]# groupadd mysql
[root@i-9291EA3C ~]# useradd mysql mysql
在Mysql的安装目录下的support-files目录下有一个my-default.cnf文件,可以用这个来生成mysql的配置文件my.cnf。也可以自己新建一个my.cnf,关于my.cnf模板介绍请自行百度。在这里我只设置了大小写不敏感,以及mysql的默认引擎。(注意: 后续次更改配置文件后都需要重启mysql。)
[mysqld]
# 设置大小写不敏感
lower_case_table_names=1
# 设置mysql默认引擎
default-storage-engine=InnoDB
cd到mysql安装目录
[root@i-9291EA3C ~]# cd /data/tool/mysql
新建数据库data目录
[root@i-9291EA3C mysql]# mkdir data
授权mysql用户的操作权限
[root@i-9291EA3C mysql]# chown -R mysql:mysql ./
这一步容易出错
[root@i-9291EA3C mysql]# bin/mysql_install_db –user=mysql –basedir=/data/tool/mysql –datadir=/data/tool/mysql/data
将mysql目录下除了data/目录的所有文件,改回root用户所有
[root@i-9291EA3C mysql]# chown -R root
[root@i-9291EA3C mysql]# chown -R mysql data
复制启动文件
[root@i-9291EA3C mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@i-9291EA3C mysql]# chmod 777 /etc/init.d/mysqld
修改启动脚本
[root@i-9291EA3C mysql]# vi /etc/init.d/mysqld
#修改项:
basedir=/data/tool/mysql
datadir=/data/tool/mysql/data
启动服务
[root@i-9291EA3C mysql]# service msyqld start
添加环境变量
[root@i-9291EA3C mysql]# vi /etc/profile
#在文件末尾添加
export PATH=$PATH:/data/tool/mysql/bin
[root@i-9291EA3C mysql]# source /etc/profile
记得关闭防火墙
service iptables stop
登录验证
[root@i-9291EA3C bin]# mysql -uroot -p
Enter password:
默认密码为空,直接按Enter即可登陆,登陆之后可以更改root用户密码。
mysql>use mysql;
mysql>update user set authentication string-password(“密码”) where user =’root’;
mysql>flush privileges;
mysql>exit;
再次重新登录会发现密码已修改。
重启mysql
[root@i-9291EA3C mysql]# service mysqld restart
至此,Mysql数据库算是安装完了,后续还要根据生产需要,对mysql进行优化配置,这里不再介绍。安装完成后,肯定就是怎么连接mysql的问题,总不能每次都本地连接吧!下面讲下mysql远程连接数据库的问题。
mysql远程连接数据库
授权所有主机
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
只授权固定IP,比如192.168.X.X
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.X.X' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使修改生效:
mysql>FLUSH PRIVILEGES
因为第一次没能安装成功,一直没排查到原因,无奈只能删掉重来。现将删除步骤记录如下:
二进制包/源码安装方式的MySQL卸载
检查MySQL服务并关闭服务进程。
[root@i-9291EA3C ~]# ps -ef | grep mysql
[root@i-9291EA3C ~]# service mysql stop
Shutting down MySQL.. SUCCESS!
[root@i-9291EA3C ~]# service mysql status`
ERROR! MySQL is not running
查找文件
[root@i-9291EA3C ~]# find / -name mysql
/data/mysql
/data/mysql/bin/mysql
/data/mysql/include/mysql
/data/mysql/data/mysql
/var/lock/subsys/mysql
依次删除上述查找到的文件
[root@i-9291EA3C ~]# rm -rf /data/mysql
[root@i-9291EA3C ~]# rm -rf …
删除一些配置文件
配置文件一般有/etc/my.cnf 或/etc/init.d/mysqld,如果使用到的话。
[root@i-9291EA3C ~]# rm -rf /etc/my.cnf
[root@i-9291EA3C ~]# rm -rf /etc/init.d/mysqld
删除MySQL用户以及用户组
[root@server bin]# userdel mysql
[root@server bin]# id mysql
id: mysql: no such user