下载地址: https://dev.mysql.com/downloads/mysql/5.7.html#downloads
确认要下载的版本
linux 中执行
cat /etc/issue 可以查看系统信息
cat /proc/version 查看内核
uname -a 可以看到系统版本
选择下载的mysql版本
选择操作系统,因为没有centos的指定系统所以选择red hat
选择系统版本,我的是64位,所以选择X64
左下角 是点击直接下载,不需要登录
下载完成把文件传到linux服务器上,因为我用的Xshell所以直接用rz命令上传了
创建一个文件夹名为mysql,并复制压缩包到mysql
mkdir mysql
cp mysql-5.7.25-1.el6.x86_64.rpm-bundle.tar mysql
解压压缩包
tar -xvf mysql-5.7.25-1.el6.x86_64.rpm-bundle.tar
安装mysql
因为我们只安装mysql服务端所以只需要安装下面四个即可,需要按照顺序安装
mysql-community-common-5.7.25-1.el6.x86_64.rpm
mysql-community-libs-5.7.25-1.el6.x86_64.rpm
mysql-community-client-5.7.25-1.el6.x86_64.rpm
mysql-community-server-5.7.25-1.el6.x86_64.rpm
如果这里安装报错需要卸载之前安装过的,
通过 rpm -qa | grep -i mysql 查看安装过的rpm
使用rpm -e 名字 --nodeps 进行卸载,必须为全名,–nodeps为强制卸载,因为有可能会有依赖卸载不掉
可以通过rpm -qa | grep -i mysql 查看名字复制下来再去卸载
例如rpm -e mysql-community-libs-5.7.25-1.el6.x86_64 --nodeps 需要全部卸载干净在进行安装
初始化数据库并查看生成的密码
初始化数据库:mysqld --initialize
查看密码:vim /var/log/mysqld.log
密码一定要记录下来,会用这个密码登录在修改密码
启动mysql服务状态
service mysqld start
查看服务是否已经启动
如果服务启动失败需要去
tail -f /var/log/mysqld.log 查看日志,看是为什么错误
此处我遇到的是权限的问题
5.7版本以前是
chmod -R 777 /usr/local/mysql/data/
5.7版本以后,因为我安装的是5.7版本。所以路径为这个。
chmod -R 777 /var/lib/mysql
然后service mysqld start 启动服务
提示密码不对解决方法
编辑my.cnf文件:vim /etc/my.cnf
在最后添加:skip-grant-tables
然后保存退出
重启服务:service mysqld restart
登录mysql: mysql -u root
去往mysql的库:use mysql;
更新密码为空:update user set authentication_string=’’ where user=‘root’;
退出:exit
编辑my.cnf文件:vim /etc/my.cnf
删除添加的内容:skip-grant-tables
保持退出
重启服务
输入:mysql -uroot
不用密码直接可以登录上来
设置密码
登录mysql后设置密码:SET PASSWORD = PASSWORD(‘123456’);
授权远程登陆
登陆mysql后:GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
123456为我设置的密码,如果你的密码和我不一致请改为你设置的。
如果远程还是连接不上需要关闭防火墙
// 临时关闭
service iptables stop
// 禁止开机启动
chkconfig iptables off
至此,MySQL已经安装完毕,以下为扩展
mysql文件路径
/var/lib/mysql/ #数据库目录
/usr/share/mysql #配置文件目录
/usr/bin #相关命令目录
/etc/init.d/mysql #启动脚本
修改字符集和数据存储路径
配置/etc/my.cnf文件
复制代码
[client]
default-character-set=utf8 #客户端默认编码
[mysqld]
port = 3306 #端口
character_set_server=utf8 #服务端编码
character_set_client=utf8 #客户端编码
collation-server=utf8_general_ci
#(注意linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写)
lower_case_table_names=1
#(设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384; )
max_connections=1000
[mysql]
default-character-set = utf8
安装后,mysql文件所在的目录
Directory Contents of Directory
/usr/bin Client programs and scripts
/usr/sbin The mysqld server
/var/lib/mysql Log files, databases
/usr/share/info MySQL manual in Info format
/usr/share/man Unix manual pages
/usr/include/mysql Include (header) files
/usr/lib/mysql Libraries
/usr/share/mysql Miscellaneous support files, including error messages, character set files, sample configuration files, SQL for database installation
/usr/share/sql-bench Benchmarks
更改编码
修改my.cnf,默认在/usr/my.cnf,执行:vim /usr/my.cnf,添加如下内容:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
开机自动启动
将mysqld加入系统服务,并随机启动
执行:cp /usr/share/mysql/mysql.server /etc/init.d/mysqld
说明:/etc/init.d 是linux的一个特殊目录,放在这个目录的命令会随linux开机而启动。