一、Linux安装MySQL 1、MySQL官网介绍 • 主页 https://www.oracle.com/mysql/index.html • 下载主页面 https://www.mysql.com/downloads/ • 社区资源下载页面 https://dev.mysql.com/downloads/ • MySQL社区版下载页面 https://dev.mysql.com/downloads/mysql/ 2、MySQL社区软件相关产品介绍 • MySQL Community Server 最流行的开源数据库管理软件,当前最先版本是8.0。 • MySQL Cluster 基于MySQL数据库而实现的集群服务,自身能提供高并发高负载等特性。 • MySQL Fabric MySQL官方提供的关于MySQL数据库高可用和数据分片的解决方案。 • MySQL Connectors 为应用程序提供JDBC/ODBC等访问MySQL数据库的接口服务。 3、MySQL Community Server各版本主要区别。 • MySQL4.0版本:增加了予查询的支持,字符集增加UTF-8,CROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法,lnnodb开始,支持单独的表空间。 • MySQL5.0版本:增加了stored procedures、views、cursors、triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库。 • MySQL5.5版本:默认存储引擎更改为lnnoDB,提高性能和可扩展性,增加半同步复制。 • MySQL5.6版本:提高lnnoDB性能,支持延迟复制。 • MySQL5.7版本:提升数据库性能和存储引擎,更健壮的复制功能,增加sys系统库存放数据库管理信息。 • MySQL8.0版本: 4、MySQL安装-----准备(1) • 检查操作系统和MySQL版本的适配。 • 检查操作系统和MySQL版本的适配 5、MySQL安装-----准备(2) • 选择安装的MySQL版本 • 首先判断是否要和公司其他已经安装好的MySQL保持版本一致。 • 如果没有上述要求,则一般会安装最新版本。 • 如果不是实验新功能性质,则不要选择developmentrelease,而要安装General Availability(GA)release(代表稳定版本,可在生产系统使用) • 选择安装MySQL的方式。 • 二进制安装包的方式(RPM、zip、tar等) • 源码方式(source code) • 一般会选择二进制安装方式。 • 如果有特殊需求,比如修改一部分源码或修改MySQL深层次的配置,则会选择源码方式。 6、二进制tar包安装 MySQL Linux 安装。
• 1.下载正确的tar包 • 2.上传tar包到服务器并解压tar包到/usr/local/目录下。 [[email protected] ~]# cd /usr/local/ [[email protected] local]# pwd /usr/local [[email protected] local]# tar -xvfmysql-8.0.17-linux-glibc2.12-x86_64.tar.xz [[email protected] local]# mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql • 3.创建运行MySQL的用户和组(名字可以任意) [[email protected] local]# useradd mysql [[email protected] local]# id mysql uid=1000(mysql) gid=1000(mysql) 组=1000(mysql) • 4.切换到MySQL目录 [email protected] local]# cd mysql/ [[email protected] mysql]# pwd /usr/local/mysql # 创建data目录 [[email protected] mysql]# mkdir data # 修改data目录用户的权限 [[email protected] mysql]# chown -R mysql.mysql data • 5.安装MySQL-----初始化 启动 # 初始化数据目录 [[email protected] mysql]# bin/mysqld--initialize --user=mysql --datadir/usr/local/mysql/data # 启动方法一:命令启动MySQL服务 [[email protected] mysql]# bin/mysqld_safe --datadir=/usr/local/mysql/data --user=mysql # 启动方法二:将MySQL加入到服务中 [[email protected] mysql]# cp support-files/mysql.server/etc/init.d/mysql.server [[email protected] mysql]# /etc/init.d/mysql.server start • 6.安装MySQL-----加入变量 [[email protected] mysql]# vim ~/.bash_profile PATH=$PATH:$HOME/bin:/usr/local/mysql/bin source ~/.bash_profile # 直接使用MySQL命令进入数据库 [[email protected] mysql]# mysql -u root -p7、MySQL报错及不推荐初始化使用方法
# 启动过程中如果碰到如下错误 [[email protected] mysql]# bin/mysqld --initialize --user=mysql--datadir /usr/local/mysql/data bin/mysqld: errorwhile loading shared libraries: libaio.so.1: cannot open shared object file: No such file ordirectory # 则需要安装包 yum install -y libaio# 不使用推荐安装路径的方法
[[email protected]]# bin/mysqld --initialize --user=mysql -basedir=/data/mysql --datadir=/data/mysql/data [[email protected]]# bin/mysqld_safe--basedir=/data/mysql-datadir=/data/mysql/data --user=mysql &# 如果使用/etc/init.d/mysql.server启动会失败
[[email protected] bin]# /etc/init.d/mysql.server start /etc/init.d/mysql.server: line 239: my_print_defaults: command not found /etc/init.d/mysql.server: line 259: cd: /usr/local/mysql: No such file or directory Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)# MySQL非默认路径安装
[[email protected] ~]# cat /etc/my.cnf [mysqld] basedir=/data/mysql datadir=/data/mysql/data # 在启动 [[email protected] ~]# /etc/init.d/mysql.server start Starting MySQL SUCCESS!8、进入MySQL库 • 初始化过程中获得root的初始密码 • 启动完成后通过ps -ef查看MySQL进程 • 本机登录MySQL数据库 • 修改root的初始密码 # 8.0不支持此命令
mysql> set password=password(‘mysql‘); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘password(‘mysql‘)‘ at line 1 # 修改root初始密码为123456 mysql> alter user [email protected] identified by ‘123456‘; Query OK, 0 rows affected (0.01 sec)修改配置文件
# 进行移动data数据文件路径。 # 创建一个存放数据的目录。 [[email protected] ]# mkdir -p /data/mysql/ # 切换进行这个目录。 [[email protected] mysql]# cd /data/mysql/ # 把mysql数据的目录移动到这个目录下。 [[email protected] mysql]# mv /usr/local/mysql/data ./ # 编辑配置文件。修改data路径。 [[email protected] mysql]# cat /etc/my.cnf [mysqld] datadir=/data/mysql/data