这个教程是在Ubuntu19安装Mysql的过程,参考了简书开心挑骚老哥Centos安装Mysql的教程(https://www.jianshu.com/p/276d59cbc529),Mysql是从学习Java过程中必备的软件,本文使用命令行方式安装,给大家学习安装使用(Linux系统还是很好玩的)。
1、检查是否已经安装过mysql,有要删除最好在root权限下运行
rpm -qa | grep mysql
如果曾经有安装,必须删除
rpm -qa | grep mysql
查询有关mysql目录
whereis mysql
find / -name mysql
删除相关文件或目录
rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
检查mysql用户组和用户是否存在,如果没有,则创建
cat /etc/group | grep mysql
cat /etc/passwd |grep mysqlchmod -R 755 /usr/local/mysql
groupadd mysql
useradd -r -g mysql mysql
2、下载mysql,可以到官网下载,可以使用命令行下载
图形界面这里推荐使用链接下载,复制到浏览器就下载了wget命令行下载太慢了
连接
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
命令行
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
3、在执行wget命令的目录下或你的上传目录下找到Mysql安装包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
执行解压命令:
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
4、移动文件到/usr/local下并修改文件为mysql
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local/
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
5、更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
6、编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
大部分新机器在第6步时会有错误,这里也是Ubuntu和Centos一些区别
解决:安装libiao连接库文件
apt-get install libaio1 libaio-dev
运行初始化命令成功后,记住输出日志最后一行:localhost后面的字符串,这是mysql的临时密码
7、编辑配置文件my.cnf,添加配置如下
vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为
lower_case_table_names=1
8、启动服务器
/usr/local/mysql/support-files/mysql.server start
提示starting则安装成功
9、查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执行启动命令
#查询服务
ps -ef|grep mysql
ps -ef|grep mysqld
#结束进程
kill -9 PID
#启动服务
/usr/local/mysql/support-files/mysql.server start
10、添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
这里restart重启可能会提示无法找到service.mysql,这里可以先使用下面命令重启
/usr/local/mysql/support-files/mysql.server restart
11、登录mysql,修改密码(密码为步骤5生成的临时密码)
mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');
这里mysql命令可能会提示找不到,需要安装libncurses
apt install libncurses*
12、开放远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
13、设置开机自动启动
1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
systemctl daemon-reload
3、添加服务
[root@localhost /]# chkconfig --add mysqld
4、显示服务列表
[root@localhost /]# chkconfig --list
这里chkconfig这能会提示找不到,需要安装,安装过程
安装命令
(1)
apt install sysv-rc-conf
会提示无法定位到软件,这时需要更新apt
第一步:终端输入:sudo gedit /etc/apt/sources.list(这里我使用的是gedit,你可以使用自己喜欢的工具,如vi、vim等),打开该文件
第二步:在软件源sources.list文件中最后一行添加如下一列文本:
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
第三步:更新apt-get,在终端输入sudo apt-get update
第四步:完成更新后,重新安装sysv-rc-conf,在终端输入sudo apt-get install sysv-rc-conf,即可成功安装。
(2)复制文件,
注:复制过长中发现,在/usr/sbin/中没有chkconfig这个文件,需要利用gedit新建一个空白文件,命名为chkconfig
在执行命令:
cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig
(3)设置权限,要将目录切换至/usr/sbin/下
chmod 755 chkconfig