后附所需包下载链接
一、不同方式安装mysql
1、*.so文件找不到
让他识别mysql库文件目录
2、share
mysql的错误输出:
1、错误编码
没有找到错误文件的位置
/usr/local/mysql/share/english/errmsg.sys
通过mysql自带的lc_messages_dir参数让mysql识别错误文件的位置
3、suport-files
便捷的启动脚本
service
4、安装目录
rpm-/var/lib/mysql
源码-
1、自行编译:cmake --prefix /usr/local/mysql
2、免编译-二进制:取决于你的解压位置
5、配置文件位置
/etc/my.cnf
[mysqld]
- mysql启动的时候会去查找四个配置文件
- 由前往后依次检查,由后往前覆盖掉相同的配置项
- 如果四个配置文件都配置的话,很多配置项都乱了
- 将来排查配置项问题的时候自找麻烦
[mysqld]——这是server的配置,服务端的配置
- 影响这个mysql server的运行的参数设置
- 包括影响客户端的相应的参数-会话相关参数的设置
basedir:软件所在的位置
datadir:存放数据的位置
server-id:单机的话不是必须的,标志server的编号
port:mysql server对外提供的服务端口, 影响客户端连接
socket:mysql启动后生成的套接字文件,影响server端自身的客户端通过socket文件连接mysql
pid-file:软件启动,生成的pid文件的位置名称
log-error:mysql启动运行的错误文件
user:表示什么去启动mysql
[mysql] 或者是[client]——这是客户端的配置
1、影响着客户端本身如何去连接服务器端,用户名 密码 socket 端口
user:以哪一个用户去连接mysql服务器
passwd:该用户的密码
port:要连接的服务器端的mysql端口
socket:要连接的服务器端的mysqlsocket文件
2、linux端:影响进入数据库之后的显示
mysql> select * from t;
服务器:
运行着服务的机器
自身也有mysql的客户端
客户端:
访问服务器端提供具体的服务
6、安装mysql
rpm:
# tar -xf mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar -C mysql
# yum localinstall ./mysql-community-*.rpm -y
# service mysqld start
第一次启动的时候会去初始化数据库,然后再启动数据库
初始化的目的:生成server自身运行需要的文件
文件包含:mysql的系统库
(performance_schema、 information_schema、 sys、mysql)、ib_buffer_pool、ibdata1
源码-免编译:目的是为了熟悉mysql的部署流程以及启动流程
# mkdir -p /usr/local/mysql
# tar -xf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql/
1、修改配置文件
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
port=3307
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
2、初始化数据库
# ./mysql_install_db --defaults-file=/etc/my1.cnf --datadir=/usr/local/mysql/data
# mysqld --initialize --datadir=...
3、修改属主属组
root——>mysql
# chown -R mysql:mysql /usr/local/mysql/data/
4、启动数据库
mysqld_safe --defaults-file=/etc/my.cnf &
service mysqld start
启动流程:
1、读取配置文件的目的是为了知道相应配置项或者参数的位置
检查各个配置项是否配置正常(参数设置不正确,参数写错,值范围不在标准范围内)
看官方文档设置参数
2、读取相应数据位置下的文件--启动数据库
检查文件mysql是否有权限操作
mysql用户:
1、用户名、密码、登录主机
用户名@登录主机 密码
2、登录方式(客户端)
1、本地socket登录——服务器本身(也可以通过网络方式登录)
# mysql -uroot -p123 -S /var/lib/mysql/mysql.sock
2、网络登录
1、127——本地回环
2、远程网络
用户名 密码 服务器IP地址 端口
服务器需要检查的项: 用户名 密码 验证登录主机是否在允许范围内
2种mysql的软件包:
1、rpm
大,安装比较简单-yum install-时间比较长
软件目录等都是提前固定好的
2、源码:
二进制glibc——比较大——时间耗费在解压上
解压完简单配置后直接使用
自行编译:——小——时间耗费在自行编译的过程上
很多配置可以在编译的时候自行指定-灵活度比较高
# mysql -V 查看客户端的版本
# mysqld -V 查看服务器端的版本
二、单机多实例
目的是:熟悉mysql安装,安装完成后文件、属性、排错流程
单软件-rpm-多实例
# mkdir /var/lib/mysql2
1、配置文件单独设置
datadir
port
socket
pid文件位置
err错误日志
2、初始化数据库-生成数据库运行的基础文件
ibdata1
ib_logfile0
ib_logfile1
mysql
performance_schema
sys
3、修改属主属组
# chown -R mysql:mysql /var/lib/mysql2/
该实例才有了启动的基本
4、启动数据库
# mysqld_safe --defaults-file=/etc/my_rpm2.cnf &
5、检查端口运行情况
6、进入数据库
破解mysql密码流程:
1、关闭不知道密码的数据库
2、以跳过授权表的方式启动该数据
# mysqld_safe --defaults-file=/etc/my_rpm2.cnf --skip-grant-tables &
3、进入数据库,刷新权限,修改密码
# mysql -S /var/lib/mysql2/mysql.sock
mysql> flush privileges;
mysql> alter user 'root'@'localhost' identified by '123';
启动成功的标志:
1、mysql.sock
2、pid文件
3、端口
搜索:variable ——》 Server Option and Variable Reference
cmd-line:是否允许出现在命令行(mysql启动时)
option-file:是否允许出现在配置文件中(unknown variable)
system var:是否是系统变量,可以进行设置
status var:是否是状态值,只能进行查看不能修改
dynamic:是否允许动态修改
影响范围:global、session(当前会话)
type:类型
默认值:
值的范围:最小——最大
redhat安装包(linux)
提取码:e4bx
mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar
提取码:yqpk
mysql-5.7.15-linux-glibc2.5-x86_64.tar
提取码:2das
Webyog SQLyog Ultimate 12.0.8.0.zip
提取码:t5lb