数据库升级要求
安装操作系统
停止监控,前端服务,停止数据库
数据备份
数据迁移->同步数据到新服务器
#查看官方安装手册
#二进制安装
#创建用户和安装目录
useradd mysql -r -s /sbin/nologin
mkdir -p /usr/local/mysql
#解压软件包到安装目录
tar -xvf ...
#进入mysql解压目录,把里面的所有东西都传到安装目录
cp -a ./* /usr/local/mysql
#更改权限
chown -R mysql.mysql /usr/local/mysql
#确保该系统没有my.cnf文件
cat /etc/my.cnf
rm -rf /etc/my.cnf
#手动初始化数据库(在mysql安装目录下)
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql #这条命令后会出现密码(记住)
bin/mysql_ssl_rsa_setup
bin/mysqld_safe --user=mysql &
#设置system服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#设置环境变量
#修改密码
mysql -uroot -p
alter user 'root'@'localhost' identified by "Aspirine1";
#初始化/usr/local/bin/mysql_secure_installation
#源码安装
#查看文档也查看源代码的
#安装依赖环境
yum install -y gcc gcc-c++ make cmake ncurses-devel bison openssl-devel git
#解压boost到/usr/local/
#编写脚本cmake
cd /soft/mysql-5.7.40
再创建cmake脚本
vi cmake.sh
#/bin/bash
cmake . \
-DCMAKE_INSTALL_PREFIX=/mysql40 \
-DMYSQL_DATADIR=/mysql40/data \
-DMYSQL_TCP_PORT=3307 \
-DMYSQL_UNIX_ADDR=/mysql40/mysql40.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DDOWNLOAD_BOOST=0 \
-DWITH_BOOST=/usr/local/boost_1_59_0
#r如果执行脚本失败要清楚缓存才能再次执行
rm -rf CMakeCache.txt CMakeFiles
sh cmake.sh
#编译安装
make && make install
#源码安装方式不需要手动创建目录,make install时检测到没有会自动创建
#配置权限
chown -R mysql.mysql /mysql40
bin/mysqld --initialize --user=mysql #这条命令后会出现密码(记住)
bin/mysql_ssl_rsa_setup
bin/mysqld_safe --user=mysql &
#启动服务
cp /mysql40/support-files/mysql.server /etc/init.d/mysqld40
#独立启动方式
service mysqld40 start
service mysqld stop
service mysqld status
#初始化
cd /mysql40/bin
./mysql_secure_installation
#同时存在两个数据库通过sock连接,用别名简化
alias mysql33=‘mysql -S /tmp/mysql.sock’
alias mysql40='mysql -S /mysql40/mysql40.sock'
#远程连接通过ip端口
mysql -h192.168.255.10 -P3306 -uroot -pAspirine1
#mysqladmin管理数据库工具(在bin目录下的)
#利用mysqladmin修改密码,和关闭数据库
alias mysqladmin33='mysqladmin -S /tmp/mysql.sock'
alias mysqladmin40='mysqladmin -S /soft/mysql40/mysql40.sock'
#关闭数据库
mysqladmin40 shutdown -uroot -proot
#修改密码
mysqladmin40 -uroot -proot passsword '123'
#不如 alter user
#修改密码拓展
#两种方式修改
1.一种是mysqladmin
2.另一种是通过sql语句修改,因为用户信息本质也是保存在mysql表中的(这种危险是因为假如忘记加where可能就把所有用户的密码都改了)
3.第三种alter user 'root'@'localhost' identified by '123'
#show databases;时可以看到有mysql这个是很重要的东西没有这个启动不了mysql,用户信息表也在里面,
#可以use mysql;进入数据库,show tables;查看到user表,
#通过select user,host from user;可以看到所有用户
#上一个人离职没告诉密码,需要重置数据库密码就需要通过sql语句重置密码
要先关闭数据库,跳过授权表
service mysqld40 stop
./mysqld_safe --user=mysql --skip-grant-tables &
mysql -S /mysql40/mysql40.socket
#就可以直接不用密码进来了然后用sql语句改密码
update mysql.user set authentication_string=password('123456') where user='root' and host='localhost'; flush privileges;
#mysql配置文件
#在安装目录编写配置文件
[mysqld]是服务端的参数配置
[mysql]是客户端的参数配置
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql33.sock
port=3308
#想修改配置文件信息,只要修改 my.cnf 完后重启就行
service mysql40 restart
#排错拓展
遇到启动失败就可能是配置文件没按预期读取读取到了其他的my.cnf
可以看数据目录下的以主机名命名的文件 日志——tail -f