本文是我最近自己手动安装的,在网上找了很久,自己也安装了3遍才安装好,在安装过程中,有不少的坑,希望大家可以参考下,可以预防:
1、下载mysql的压缩包
选择相应的版本;
2、安装依赖 yum install -y cmake make gcc gcc-c++ libaio ncurses ncurses-devel
这个需要安装,因为在之后安装mysql数据库初始化的时候,有时候会报错,就是少很多的东西,所以先安装依赖。
注:这个会安装很多的东西,大概30秒到1分钟,如果安装东西少的话,在重新执行以下命令即可。
3、上传下载好的mysql压缩文件,放到 /usr/local/下,自己创建一个文件夹tmp,用户存放压缩包,以后可以打包删除。
# cd /usr/local
# mkdir tmp
使用工具,将mysql文件上传到tmp下。
解压
# tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
将解压的复制到 /usr/local/mysql 目录
# cp -r mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql
4、添加系统mysql组和mysql用户
添加系统mysql组
# groupadd mysql
添加mysql用户
# useradd -r -g mysql mysql (添加完成后可用id mysql查看)
5、安装数据库
切到mysql目录
# cd /usr/local/mysql
修改当前目录拥有者为mysql用户
# chown -R mysql:mysql ./
安装数据库
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
生成了临时密码
执行以下命令创建RSA private key (图在最后)
# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
修改当前目录拥有者为mysql用户
# chown -R mysql:mysql ./
修改当前data目录拥有者为mysql用户
# chown -R mysql:mysql data
5、配置my.cnf
# vim /etc/my.cnf (直接把下面内容复制上就行)
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
lower_case_table_names = 1
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
注意:在复制到my.cnf的文件中时,注意“#”,注释的部分都去掉
添加开机启动
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改
# vim /etc/init.d/mysqld
添加路径 在46行
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
启动mysql
# service mysqld start
加入开机起动
# chkconfig --add mysqld
6、登录修改密码
# mysql -uroot -p 上面初始化时的密码
如果出现错误 需要添加软连接
# ln -s /usr/local/mysql/bin/mysql /usr/bin
添加完软连接,再次登录mysql
方法一:
# mysql -uroot -p 上面初始化时的密码
方法二:
# mysql -uroot -p 回车
Enter password:
在这里输入密码,这里不显示输入的字符,输完后直接回车就行。
注意:p后面直接加密码就行,不要加空格,加空格的话,是链接相应数据库的命令。如mysql -uroot -p aaa 你回车之后,还让你输入密码,密码输入对了,就直接去找aaa的数据库名了。
在登录mysql时报:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
表示root的密码输入的正确,但不允许登录:
解决方法:
修改my.cnf ,使用安全模式登录,修改root密码,在登录。
# vim /etc/my.cnf
在末尾加上:skip-grant-tables
保存退出,
登录:
# mysql -uroot -p
Enter password:直接敲回车,进入myslq
登录成功之后显示:mysql > 表示登录成功,登录成功后,不管使用什么命令,都让你先该密码;
第一件事先修改密码
在使用root和默认随机密码登录的mysql可以使用方法一进行密码修改。
如果使用“安全模式”进入的mysql,要使用方法二进行修改root密码。
方法一:使用alter命令,在写mysql的语句时,必须要有结束符 ;
alter 表名 用户 identified by 新密码;
# alter user 'root'@'localhost' identified by 'root';
#刷新权限
# flush privileges;
方法二:update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';
在密码修改成功后,退出mysql,重新使用密码登录系统。(使用“安全模式”进入的,此时去my.cnf中将刚刚添加的“skip-grant-tables”去掉,保存退出)
重新登录mysql后,进行权限的授权
#执行权限赋予命令
(创建所有权限给root账户,%表示可以采用localhost、127.0.0.1、ip等方式来访问数据库,后边的是密码)
# GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
这一步很重要,一定要小心执行这个授权命令。我在这块弄错了一回,调了变天,最后还是靠重新装解决的问题。
#刷新权限
# flush privileges;
到此,基本上mysql就安装完毕了,在执行完的每一条sql改配置的这种,都要刷新权限,才能生效。要不需要重启mysql服务器
# service mysqld stop; 关机
# service mysqld start; 开机
# service mysqld restart; 重启
7、windows数据库客户端
连接mysql服务器ERROR 2003 (HY000): Can’t connect to MySQL server on ‘172.25.254.10’ (111)
这个是linux防火墙默认没有开通3306端口的,去开通3306端口
# vim /etc/sysconfig/iptables
(1)、开通3306端口:
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
(2)、重启防火墙使配置生效
# service mysqld restart
8、到此,myslq 5.7.26 就在服务器上安装完成。客户端,可以使用数据库软件进行查看。
9、最后,在安装完myslq之后,在windows系统中,使用相应的工具,访问myslq服务器,看是否连接正常,在创建数据库和表的时候是否正常。
博客转载来自:https://blog.csdn.net/z13615480737/article/details/80019881
并加自己的实际操作。