原文地址:https://www.cnblogs.com/coderls/p/6848873.html
1.安装mysql之前需要确保系统中有libaio依赖,使用如下命令:
yum search libaio
yum install libaio
2.进入centos终端操作界面,使用wget命令下载mysql5.7 64位安装文件:
wget -c https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
下载完成如图所示:
3.将mysql安装包解压到指定目录,命令如下:
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local
4.进入/usr/local目录:
cd /usr/local
5.为mysql安装目录创建软链接:
ln -s mysql-5.7.18-linux-glibc2.5-x86_64 mysql
6.为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限):
groupadd mysql useradd -r -g mysql -s /bin/false mysql
7.进入安装mysql软件的目录,命令如下:
1
|
cd /usr/local/mysql
|
8.修改当前目录拥有者为新建的mysql用户,命令如下:
chown -R mysql:mysql ./
9.安装mysql,命令如下:
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
安装完成,出现如下信息,将随机生成的登录密码记录下来:
10.开启mysql服务,命令如下:
./support-files/mysql.server start
11.将mysql进程放入系统进程中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
12.重新启动mysql服务,命令如下:
service mysqld restart
13.使用随机密码登录mysql数据库,命令如下:
mysql -u root -p
等待系统提示,输入随机密码,即可登录
14.进入mysql操作行,为root用户设置新密码(小编设为rootroot):
alter user 'root'@'localhost' identified by 'rootroot';
15.设置允许远程连接数据库,命令如下:
update user set user.Host='%' where user.User='root';(当时这句没成功)
例如,你想root使用password从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION;
password 为root账号的密码
16.刷新权限,命令如下:
flush privileges;
17.添加防火墙
并且要设置防火墙
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
这样往往不成功 因为没添加成功
解决办法直接编辑/etc/sysconfig/iptables-config文件
1.编辑/etc/sysconfig/iptables文件:vi /etc/sysconfig/iptables-config加入内容并保存:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
2.重启服务:/etc/init.d/networkrestart
过程中遇到的问题:
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
如果安装mysql出现了以上的报错信息.这是却少numactl
这个时候如果是Centos就yum -y install numactl
就可以解决这个问题了.
ubuntu的就sudo apt-get install numactl
就可以解决这个问题了
第13步报错没有命令 (我是由于没做第五步)
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
# ln -s /usr/local/mysql/bin/mysql /usr/bin