问题:deepin用终端安装mysql,却安装的一直是MariaDB,找到了一个下载安装包安装的方法,并添加了些安装时遇到的问题,在此记录下。
第一步、
首先去官网下载mysql的安装包https://dev.mysql.com/downloads/mysql/
linux generic 的64位的tar -xJvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
第二步、解包
找到下载好的64位mysql安装包
sudo tar -xJvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
移动到指定位置:一定要这个位置,原因是在mysql配置文件中写死了,这样的好处是可以直接用默认文件启动mysql服务
sudo mv mysql-8.0.18-linux-glibc2.12-x86_64/ /usr/local/mysql
第三步、创建mysql用户
sudo useradd -r -s /bin/false mysql
第四步、生成root密码并打印密码(在/usr/local/mysql 目录下执行)
首先 cd 进入解压缩的文件夹内
cd /usr/local/mysql
然后执行初始化mysql的密码========>注意这里会获得root密码
sudo ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
启动mysql服务
sudo ./support-files/mysql.server start
登录mysql服务器修改root密码
sudo ./bin/mysql -u root -p
此处可能会提示ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (13)
,执行下sudo ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock就可以了(注意权限问题,如果没/var/lib/mysql/的权限也会报错)
将上面获得的密码通过右键粘贴进去登录到mysql
修改root密码
alter user 'root'@'localhost' identified by '123456';
下面的两条命令是让navicat等客户端连接mysql的建议执行一下
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
后序操作,配置环境变了 和 开机自启服务
第五步、配置环境变量,让mysql可以在任何位置下都可以直接执行
sudo vim /etc/profile
将下面的代码添加到文件末尾
#MYSQL_HOME
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
一定要记得刷新配置然后环境变量生效
source /etc/profile
第六步、开机自启服务
将mysql的默认脚本复制到/etc/init.d 取名叫mysqld就可以全局通过service mysqld start手动启动
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
执行service mysqld start相当于手动开启mysql,将他添加到开机自启服务中
下面是让开机时自动执行这条命令
sudo vim /etc/rc.local
添加内容
#!/bin/bash
# rc.local config file created by use
service mysqld start
exit 0
给予执行权限
sudo chmod +x /etc/rc.local
然后重启即可!deepin官网有解释:deepin自启动程序
常见错误解决方式:
如果是初始化遇到了问题,你可以删除对应数据(/usr/local/mysql/data)在初始化的时候指定的,
如果没有指定可以删除mysql整个文件夹,然后重新安装
先删除对应文件夹
(mysql要先关闭)
/usr/local/mysql/bin/mysqld stop
删除数据,然后重新初始化root用户和密码
sudo rm -rf /usr/local/mysql/data
紧接着,从博客上面的第二步重复执行命令即可,不要跳过命令!要一条一条执行,创建过mysql用户的哪天命令第二次可以不用执行了,因为前面已经创建过了,会提示用户已存在。
另外赠送navicat12的包,压缩包目录里有我写好的txt文件。直接解压缩就能使用 免激活。官网的最新版在deepin上运行会报错,建立连接
链接: https://pan.baidu.com/s/18NecXedG3SuRCZqJCO0B1g 提取码: w8x5