如何卸载MariaDB并通过yum在线安装Mysql

以下是一篇关于卸载MariaDB并通过yum在线安装Mysql的教程。

首先,你需要找出已安装的MariaDB包的具体名称。可以使用以下命令列出所有已安装的MariaDB包:

删除命令(安装mysql不一定需要卸载)
yum -y remove +【上图的文件名】或者rpm -e --nodeps +【上图的文件名】

下载mysql软件源 (1)找到对应linux的版本进行下载、 (2)下载mysql的rpm软件源
下载地址: https://dev.mysql.com/downloads/repo/yum/ 或 http://repo.mysql.com

(1)安装软件源。通过yum安装方法,会直接添加mysql环境变量和启动服务
(2)安装MySQL服务器:community-server

(1)修改配置文件。vim /etc/my.cnf添加配置

(2)启动服务并查看服务状态

(1)查看mysql初始密码

(2)修改密码验证策略。通过初始密码登录mysql

【注】:当执行 SHOW VARIABLES LIKE 'validate_password.%' 时,显示的为 EMPty set, 1 warning(0.00 sec)。

出现这个问题是因为并没有安装validate_password插件。具体操作如下:
# 每个平台的文件名后缀都不同对于Unix和类Unix系统为.so,对于 Windows为.dll

若出现ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
授权远程用户连接(改表法)

查看3306端口是否开启

发现没有,然后需要在vim /etc/my.cnf文件中添加port = 3306然后保存
若还是不行,则登录到数据库里
(1)查看port参数

注意端口果然变成0了
(2)查看skip_networking参数


果然设置了skip-networking参数,这个就是导致mysql监听的端口变成0,并且通过网络无法登录数据库的主要原因了
(3)查看cnf文件中是否有skip-networking参数或skip-grant-tables参数
注释掉后重启mysqld服务,再次查看3306端口就有了

(1)ERROR 1146 (42S02): Table 'mysql.user' doesn't exist

一般是/etc/my.cnf写的地址与安装时指定的不一样
(2)ERROR! The server quit without updating PID file (/usr/local/mysql/data/x86a.pid)

apt-get install mariadb-server libhdf5-dev libmunge-dev libmariadb-dev-compat

下载mysql并添加用户 下载地址: https://downloads.mysql.com/archives/community/ 或 http://mirrors.sohu.com/mysql/
MySQL开在root上意味着它可以在系统的任何位置写任何文件,MySQL 开在mysql用户上,保证它对系统大部分位置不可写,从而MySQL即使被攻击,也可以限制它对整个系统的影响。 当让MySQL运行的时候使用一个独立的账号和用户组时,该用户和用户组权限是可以控制的。当系统中文件的权限未设定给Mysql用户以及用户组时,Mysql用户无法进行读写执行操作。而如果MySQL被了,可以通那么开始拿到的权限就是那个创建的账号而不是默认的root,我们在编译安装的时候创建一个mysql组和一个mysql用户,并把datadir和安装目录属主改为mysql。 在MySQL启动的时候,单进程mysqld,该进程的属主就是mysql,这样就保证了mysql服务的独立性,即使mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全。

make && make install

(1)vim /etc/my.cnf 修改配置文件权限
chmod 600 /etc/my.cnf 【注意】:所有my.cnf指定的目录mysql用户都要有读写权限。symbolic-links符号链接支持在别的目录下存放mysql的数据库文件,当我们mysql数据盘满了以后,可以启动symbolic-links=1,把mysql的数据放在别的目录下,然后链接到mysql的datadir目录下。 (2)设置mysql目录权限

(1)将mysql设置成系统服务,生成服务启动脚本 (2)添加MySQL开机自启 (3)配置环境变量

(1)初始化数据库 如果无法启动mysql 【注意】:初始化完后会生成一个初始密码,在界面上显示,保存下来。一会修改密码需要用到:omrI&?hGw8li(--initialize-insecure是不设置密码) (2)启动mysql服务 (3)修改密码

(1)错误:CMake Error at cmake/boost.cmake:194 (MESSAGE):
问题描述:高版本mysql需要boots库的安装才可以正常运行 根据错误提示,进行处理 i、在/usr/local下创建一个名为boost的文件夹 mkdir -p /usr/local/boost ii、进入这个新创建的文件夹然后下载boost 下载地址: https://sourceforge.net/projects/boost 或 https://sourceforge.net/projects/boost/files/boost/ iii、解压 tar -zxvf boost_1_59_0.tar.gz -C boot iv、继续cmake,添加下面的部分 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost(2)错误:CMake Error at cmake/readline.cmake:64 (MESSAGE):
问题描述:没有安装ncurses-devel i、解决办法:yum install ncursrs-devel -y 然后重新编译 ii、源码安装ncurses-devel方式解决 下载地址: http://ftp.gnu.org/gnu/ncurses/ (3)错误:CMake Error at rapid/plugin/group_replication/rpcgen.cmake:100 (MESSAGE):
解决办法:安装rpcsvc 下载地址: https://GitHub.com/thkukuk/rpcsvc-proto/releases (4)openssl (5)Package 'libtirpc', required by 'virtual:world', not found
解决方法:安装libtirpc-devel( https://rpmfind.net/linux/RPM/ ) (6)mysql登陆报错mysql Segmentation fault (core dumped)
解决办法:在源码包里,编辑文件mysql-5.6.38/cmd-line-utils/libedit/terminal.c(mysql安装包所在路径) 把terminal_set方法中的char buf[TC_BUFSize];这一行注释,再把area=buf;改为area=NULL; 更改后如下部分 然后重新编译即可

热门手游下载