赞
踩
一、首先卸载服务器上自带的MariaDB或mysql数据库
1、卸载rpm包
1.1、查看mysql相关包:
>> rpm -qa|grep mysql
>> rpm -qa| grep maria
1.2卸载mysql的rpm包:
>> rpm -e --nodeps xxxx(上一步查出来的rpm包)
2、删除相关目录
2.1、查看mysql命名的目录文件:
>> find / -name "mysql"
2.2、删除相关目录:
>> rm -rf xxx(上一步查出来的目录,注意别删错了,比如解压的安装包名也带有mysql,可用 grep反向过滤)
主要为以下目录:
/var/share
/usr/local/lib
/usr/local/lib64
/usr/bin
等
二、源码安装
1、检查、安装相关依赖
gcc
gcc-c++
ncurses
ncurses-devel
openssl-devel
make
cmake
不过大部分服务器应该自带的有
2、获得源码包
2.1、下载rpm源码包,官网:https://downloads.mysql.com/archives/community/。
选择想要下载mysql版本,注意Operating System选项选择最后一个source code。
2.2、获取源码
-如果下载的是压缩包,直接上传服务器解压即可。
-但如果是src.rpm格式的文件,想要一个额外步骤。同样上传服务器,运行以下命令,
即可在当前目录下找到源码包mysql-xxx-xxx.tar.gz 和 boost-xxx-xxx.tar.bz2
>> rpm2cpio Mysql-xxx-xxx.src.rpm | cpio vid0
解压:
>> tar vxf mysql-xxx-xxx.tar.gz 得到mysql源码文件
>> tar vxf boost-xxx-xxx.tar.gz 得到boost源码文件,注意一会cmake时需要用到boost解压后的文件
3、编译源码包
3.1、创建mysql用户、用户组。以root用户登录系统,增加组、用户。
>> groupadd mysql
>> useradd -g mysql mysql
3.2、用cmake来编译源码,并选择相应编译参数,除了安装位置,其他参数都可以使用my.cnf配置文件修改。先进入刚刚解压的mysql-xxx目录,
>> cd mysql-xxx
>> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装路径
>> cmake -DWITH_BOOST=.. #修改安装路径,需要指定刚刚解压的boost目录,因为是和mysql-xxx同一级目录,所以使用相对目录指定就行
>> cmake -DSYCCONFDIR=/etc #存放my.cnf配置文件的地方
>> cmake -DMYSQL_DATADIR=/usr/local/mysql/data #数据库数据存放目录
3.3、安装
>> make && make install
3.4、编辑配置文件,具体的网上很多。使用mysqld --verbose可以查看所有的参数选项及当前默认值
>> vi /etc/my.cnf
>> chmod 600 /etc/my.cnf #修改配置文件权限
3.5、在安装路径下创建系统数据库和系统表,--user表示这些对象的操作系统owner
>> cd /usr/local/mysql
>> ./bin/mysqld --initialize --user=mysql
# 初始化完后会生成一个初始密码,在界面上显示,保存下来。一会修改密码需要用到:r6i4Xs1cuw&K
3.6、将mysql设置成系统服务
>> cp support-files/mysql.server /etc/init.d/mysqld
>> chkconfig mysqld on
3.7、设置目录权限,将data目录所有者改成mysql(源码安装默认数据目录为var),其他目录为root.
>> chown -R root:mysql .
>> chown -R mysql data #我这里指定的data目录为数据目录
3.8、启动mysql
>> ./bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
>> systemctl start mysqld
注意:若配置文件my.cnf中指定的参数有目录路径,则需保证所有路径ower为mysql。否则会因为没有权限而报错。
如指定日志文件目录log-error = /var/log/mysql/mysql.log,则需创建mysql目录,并修改ower为mysql。
>> mkdir /var/log/mysql
>> chown mysql:mysql /var/log/mysql
3.9、将mysql命令添加到环境变量中
>> echo 'export PATH=$PATH:/usr/local/mysql/bin:/user/local/mysql/sbin' >> /etc/profile
>> source /etc/profile
3.10、登录数据库修改密码
>> mysql -uroot -p
> (这里输入刚刚initialize时保存的密码)
如果出现报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/xxx/xxx/mysql.sock' (2)
则说明:
1、mysql.sock文件上级目路权限不对
2、mysql.sock文件上级目录不存在
3、编译时指定的socket文件路径和配置文件中指定的路径不同
这里进入mysql交互界面====================>>>
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin_123'; #修改数据库登录密码
注意:这里密码不能太短,否则修改不成功,需要超过8位即可。
如果后面想设置简单点的密码,需要修改两个参数:validate_password_policy和validate_password_length。
但是刚安装可能没有加载validate_password 插件,修改时会提示:
ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
安装及设置:
mysql> install plugin validate_password soname 'validate_password.so';
Query OK, 0 rows affected (0.02 sec)
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=你自己想要的长度;
Query OK, 0 rows affected (0.00 sec)
(好啦!现在就可以随便设置密码,数据库也能正常使用了>.<)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。