mysql数据库安装及配置

MySQL概述
什么是事务
事务:一个或多个sql要么全部执行成功,要么全部失败
MySQL事务特点:
原子性:事务得全部操作在数据库中是不可分割得,要么全部成功,要么全部失败,是sql执行得最小单位
一致性:关系数据得完整性以及业务逻辑上得一致性
隔离性:事务之间相互隔离,如不能同时对一张表进行多个操作
持久性:事务一旦被提交,数据库中得数据得改变是永久得

MySQL数据库版本:
社区版: MySQL Community Edition(GPL)
企业版:MySQL Enterprise Edition(commercial )
集群版:MySQL Cluster CGE(commercial)

MySQL常见得安装方式
1.二进制安装:
RPM版本: (MySQL-server-5.6.35-1.el7.x86_64.rpm) 需要在特定Linux版本下安装
glibc版本: (mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz) 依赖glibc库,可以安装在通用得Linux系统下
2.源代码安装:(mysql-5.6.35.tar.gz) 通用得Linux下都可以编译安装

安装方式总结

安装方式 优点 缺点
rpm 安装卸载简单 可定制性差
glibc 可定制性相比rpm灵活 安装比rpm复杂,需要手动初始化数据库
源码安装 可定制性最强,根据需求和功能定制 安装麻烦,需要手动初始化数据库

MySQL数据库安装
1.glibc包安装
软件包介绍:mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
说明:通用linux下的二进制包,以编译好,只需要放到相应的安装目录就行
Table 2.3 MySQL Installation Layout for Generic Unix/Linux Binary Package
Directory Contents of Directory
bin, scripts mysqld server, client and utility programs
data Log files, databases
docs MySQL manual in Info format
include Include (header) files
lib Libraries
mysql-test Test suite
man Unix manual pages
share Error messages, dictionary, and SQL for database installation
sql-bench Benchmarks
support-files Miscellaneous support files, including sample configuration files
默认安装选项
默认安装选项:/usr/local/mysql
默认数据目录:/usr/local/mysql/data
默认端口:3306
默认socket文件存放路径:/tmp/mysql.sock

安装MySQL:
参考官方文档:MySQL-glibc安装手册
1.创建安装目录和用户
[root@localhost soft]# useradd mysql -r -s /sbin/nologin
[root@localhost soft]# id mysql
uid=986(mysql) gid=979(mysql) 组=979(mysql)
[root@localhost soft]# mkdir /usr/local/mysql

2,拷贝相应拷贝相应的数据文件到指定的安装目录里
1)下载glibc的软件包
[root@localhost soft]# ls
mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz

2)解压glibc的软件包
[root@localhost soft]# tar xf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
3)进入到解压目录里拷贝数据文件到安装目录
[root@localhost soft]# cd mysql-5.6.35-linux-glibc2.5-x86_64/
[root@localhost mysql-5.6.35-linux-glibc2.5-x86_64]# ls
bin COPYING data docs include lib man mysql-test README scripts share sql-bench support-files
[root@localhost mysql-5.6.35-linux-glibc2.5-x86_64]# cp -a ./* /usr/local/mysql/
说明:将数据文件拷贝到mysql的安装路径后,说明mysql数据库已经安装完成

3.手动初始化数据库
1)进入到mysql的安装目录
[root@localhost scripts]# cd /usr/local/mysql/

2)更改mysql安装目录权限
[root@localhost mysql]# chown -R mysql.mysql /usr/local/mysql/
[root@localhost local]# ll -d mysql/
drwxr-xr-x 13 mysql mysql 191 3月 20 22:19 mysql/

3)初始化数据库
注意:确保当前系统没有/etc/my.cnf 文件
[root@localhost etc]# rm -rf my.cnf
[root@localhost mysql]# scripts/mysql_install_db --user=mysql
[root@localhost mysql]# ls data/
ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema test

4.启动数据库
1)拷贝数据库启动脚本
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql35
2)启动数据库
[root@localhost mysql]# service mysql35 start
Starting MySQL.Logging to ‘/usr/local/mysql/data/localhost.err’.
SUCCESS!

5.给数据库设置密码
[root@localhost bin]# ./mysqladmin -uroot password ‘123’

6,安全初始化数据库
[root@localhost mysql]# ./bin/mysql_secure_installation

7.设置环境变量
[root@localhost etc]# tail -1 /etc/profile
export PATH=$path:/usr/local/mysql/bin:/usr/bin:/usr/sbin:/bin:/sbin

8.登录数据库
[root@localhost etc]# mysql -uroot -p
Enter password:

源码安装
参考文档:MySQL——source官方手册
源码安装三部曲:配置–>编译–>安装

安装须知
软件包介绍:mysql-5.6.31.tar.gz 可在任意发行版的linux下安装

安装需求
安装目录basedir:/mysql31
数据存放目录:datadir:/mysql31/data
端口号:3307
socket文件存放目录:$basedir/mysql31.sock
根据需求开启相应功能

常用配置选项

存储引擎相关配置

安装步骤:
安装依赖:yum -y install ncruses-devel cmake gcc gcc-c++ git
下载软件包并解压到临时目录
tar xf mysql-5.6.31.tar.gz
根据需求进行配置
[root@localhost soft]# cd mysql-5.6.31/
[root@localhost mysql-5.6.31]# ./cmake.sh
[root@localhost mysql-5.6.31]# cat cmake.sh
#!/bin/bash
cmake .
-DCMAKE_INSTALL_PREFIX=/mysql31
-DMYSQL_DATADIR=/mysql31/data
-DMYSQL_TCP_PORT=3307
-DMYSQL_UNIX_ADDR=/mysql31/mysql31.sock
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_BALCKHOLE_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8mb4
-DDEFAULT_COLLATION=utf8mb4_general_ci

注意:如果脚本执行过程中出错,重新执行前续要 rm CMakeCache.txt
[root@localhost mysql-5.6.31]# echo $?
0

[root@localhost mysql-5.6.31]# make && make install

后续配置
初始化数据库
注意:进入到安装目录里/mysql31
1.修改目录权限
[root@localhost mysql31]# chown -R mysql.mysql /mysql31/
2.初始化数据库
[root@localhost mysql31]# scripts/mysql_install_db --user=mysql
注意:一定要在安装目录
3.查看数据目录里是否有数据文件
[root@localhost mysql31]# ls data/
ibdata1 ib_logfile0 ib_logfile1 mysql performance_schema test
4.拷贝启动脚本
[root@localhost mysql31]# cp support-files/mysql.server /etc/init.d/mysql31
5.安全配置
[root@localhost mysql31]# bin/mysql_secure_installation --user=mysql

根据sock文件登录数据库
[root@localhost mysql31]# mysql -S /mysql31/mysql31.sock -uroot -p
Enter password:
[root@localhost mysql31]# mysql -S /tmp/mysql.sock -uroot -p
Enter password:

MySQLadmin修改密码
mysqladmin password ‘新密码’ -uroot -p旧密码

MySQLadmin设置密码
mysqladmin password ‘新密码’ -uroot

了解mysql启动过程
·1.命令启动数据库
service mysql start ---->mysqld_safe---->mysqld daemon

2。启动数据库读取配置文件顺序
b a s e d i r ( m y s q l 安 装 目 录 ) − − − − − − > basedir(mysql安装目录) ------> basedir(mysql)>datadir(mysql数据目录)------->/etc/my.cnf ------->/etc/mysql/my.cnf----->~/.my.cnf

设置管理员密码
1.mysqladmin工具(建议)
没密码设置新密码
mysqladmin -uroot password ‘密码’
修改密码
mysqladmin -uroot password ‘新密码’ -p’旧密码’

2.sql语句修改密码
进入mysql数据库通过修改权限表来更新密码
mysql> update mysql.user set password=password(‘456’) where user=‘root’ and host=‘localhost’;
mysql> flush privileges;
或者
mysql> set password for ‘root’@‘localhost’=password(‘456’); 此语句不需要刷新权限表

3,忘记密码重置密码
思路:跳过授权表,直接登陆数据库,然后通过sql语句修改密码
1)停止数据库
[root@localhost data]# service mysql35 stop
2)启动数据库时传参数
[root@localhost data]# mysqld_safe --user=mysql --skip-grant-tables &
3)免密码登录数据库修改密码
[root@localhost data]# mysql -uroot -p

mysql5.6 与5.7区别
1)mysql库的user表中已经没有password这个字段,所以不能用update命令更新
2)set password for root@localhost =password(‘444’) 该语句虽然可以修改密码,但是在更新版本中会被丢弃,变成如下:
set password for ‘root’@‘localhost’=‘Nihaosijie@’; 长度和复杂度有要求
3)推荐使用alter user 语句
ALTER USER user IDENTIFIED BY ‘auth_string’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值