广西城乡和建设厅网站,免费申请etc,呼和浩特哪里做网站,wordpress怎么社交分享插件文章目录前言一. 致敬IT领域的那些女性二. 进制方式安装MySQL2.1 下载软件包2.2 配置环境#xff1a;2.2.1 配置yum环境2.2.2 配置安全前的系统环境2.3 开始安装2.4 初始化MySQL2.5 修改配置文件2.6 将MySQL设为服务并启动测试三. MySQL数据迁移总结前言
正好赶上IT女神节2.2.1 配置yum环境2.2.2 配置安全前的系统环境2.3 开始安装2.4 初始化MySQL2.5 修改配置文件2.6 将MySQL设为服务并启动测试三. MySQL数据迁移总结前言
正好赶上IT女神节本文也是为致敬女神节而做的文章参加了csdn 【IT女神勋章】挑战赛关于挑战赛的内容可以参考https://activity.csdn.net/creatActivity?id10305utm_source1518487446 另外本文首发于csdn收录到【我是沐风晓月】博客的【数据库入门与精通】专栏 更多内容请关注csdn博主 我是沐风晓月
一. 致敬IT领域的那些女性
世界上第一位电脑程序设计师是名女性Ada Lovelace(1815-1852)是一位英国数学家兼作家她是第一位主张计算机不只可以用来算数的人也发表了第一段分析机用的演算法。因此Ada 被公认为史上第一位认识电脑完全潜能的人也是史上第一位电脑程序设计师。
Grace Hopper (1906-1992)是最早的计算机之一哈佛Mark I的第一批程序员并为第一个程序设计语言设计了编译器。她是 COBOL 语言的设计者常被称为 COBOL 之母。除了语言设计之外她在语言标准化方面也做出了奠基性的贡献。
而云原生领域也有很多杰出的女性
-Liz Rice是一位云安全专家也是Aqua Security的技术副总裁。她是Kubernetes安全性工作组的成员之一也是Kubernetes Handbook的合著者之一。她在云安全和Kubernetes方面做出了重要贡献
Michelle Noorali是一位云原生软件开发者也是Microsoft的云原生计算团队成员之一。她是Helm Chart的创建者之一也是CNCF的Ambassador之一。她在云原生软件开发和社区建设方面做出了重要贡献。
-Priyanka Sharma是CNCF的总经理也是Kubernetes Community Days的创始人之一。她在云原生社区建设和管理方面做出了重要贡献并推动了Kubernetes和其他云原生项目的发展。
-Priyanka Sharma是CNCF的总经理也是Kubernetes Community Days的创始人之一。她在云原生社区建设和管理方面做出了重要贡献并推动了Kubernetes和其他云原生项目的发展。
她们通过她们的才智、勇气和贡献为云原生技术和开源社区的发展做出了不可替代的贡献值得我们纪念和敬仰。 二. 进制方式安装MySQL
2.1 下载软件包
官网 https://dev.mysql.com/downloads/mysql/ 我们选择其中一个下载 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz2.2 配置环境
2.2.1 配置yum环境
备份 CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2下载新Centos-7.repo,命名为CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 3清除缓存
yum clean all # 清除系统所有的yum缓存
yum makecache # 生成yum缓存
yum update 可以不更新
yum install vim -y2.2.2 配置安全前的系统环境
centos7中安装MySQL很容易因为系统环境的原因导致安装失败所以提前删掉系统中可能存在的其他的包。
[rootmufeng21 ~]# rpm -qa |grep mysql
[rootmufeng21 ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[rootmufeng21 ~]# rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
[rootmufeng21 ~]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
[rootmufeng21 ~]# rm -rf /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysql
2.3 开始安装
解压软件包 解压后把解压好的包放入/usr/local/mysql下
[rootmufeng21 ~]# tar xf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz
[rootmufeng21 ~]# mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql
[rootmufeng21 ~]# mv mysql /usr/local/mysql
创建MySQL用户和用户组
[rootmufeng ~]# groupadd mysql
[rootmufeng ~]# useradd -r -g mysql -s /bin/false mysql
[rootmufeng ~]#
注释 – r :系统用户 g: 组 s:登录的shell
授权
[rootmufeng ~]# chown -R mysql:mysql /usr/local/mysql设置环境变量
vim /etc/profileexport MYSQL_HOME/usr/local/mysql
export PATH$MYSQL_HOME/bin:$PATH
设置远程后在设置生效
使变量生效 source /etc/profile
2.4 初始化MySQL
为什么要初始化MySQL?
在MySQL中初始化是指创建并配置数据目录、配置文件和系统表等操作。这是在第一次安装MySQL或升级MySQL版本时必须执行的步骤。
创建初始化可以达成几个目标 创建数据目录MySQL使用数据目录来存储所有数据库、表、索引、日志等数据。初始化过程中MySQL会自动创建这些目录确保数据库能够正常工作。 配置文件MySQL的配置文件包含了各种设置如端口号、字符集、缓冲池大小等等。初始化过程中MySQL会生成默认的配置文件并且在后续的运行中会使用这个配置文件来启动和配置MySQL。 系统表MySQL中的系统表是存储MySQL系统信息的表。初始化过程中MySQL会创建这些系统表并把一些重要的信息插入到这些表中这些信息包括用户信息、权限信息、配置信息等。
总之初始化MySQL是确保数据库能够正常工作的关键步骤也是保障数据库安全和可靠性的重要措施。
[rootmufeng21 ~]# cd /usr/local/mysql/
[rootmufeng21 bin]# mkdir /usr/local/mysql/data[rootmufeng21 mysql]# cd bin/[rootmufeng21 bin]# mysqld --initialize --usermysql --basedir/usr/local/mysql --datadir/usr/local/mysql/data
2022-11-11T23:28:54.622732Z 0 [System] [MY-013169] [Server] /mydbs/app/mysql-8.0.31-linux-glibc2.12-x86_64/bin/mysqld (mysqld 8.0.31) initializing of server in progress as process 78892
2022-11-11T23:28:54.839401Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-11-11T23:28:57.561283Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-11-11T23:29:02.228029Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: S26!Nx/tit8)
初始化结束后最后那个S26!Nx/tit8)就是数据库的密码
2.5 修改配置文件
这里我们使用一个配置文件的模板 直接复制到 /etc/my.cnf上即可
vim /etc/my.cnf
[client]port 3306
socket /tmp/mysql.sock
[mysqld]#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id 1#服务端口号 默认3306
port 3306#mysql安装根目录
basedir /usr/local/mysql#mysql数据文件所在位置
datadir /usr/local/mysql/data#临时目录
tmpdir /tmp#设置socke文件所在目录
socket /tmp/mysql.sock#主要用于MyISAM存储引擎,如果多台服务器连接一个数据库则建议注释下面内容
skip-external-locking#只能用IP地址检查客户端的登录不用主机名
skip_name_resolve 1#事务隔离级别默认为可重复读mysql默认可重复读级别此级别下可能参数很多间隙锁影响性能
transaction_isolation READ-COMMITTED#数据库默认字符集,主流字符集支持一些特殊表情符号特殊表情符占用4个字节
character-set-server utf8mb4#数据库字符集对应一些排序等规则注意要和character-set-server对应
collation-server utf8mb4_general_ci#设置client连接mysql时的字符集,防止乱码
init_connectSET NAMES utf8mb4#是否对sql语句大小写敏感1表示不敏感
#lower_case_table_names 1#最大连接数
max_connections 400#最大错误连接数
max_connect_errors 1000#TIMESTAMP如果没有显示声明NOT NULL允许NULL值
explicit_defaults_for_timestamp true#SQL数据包发送的大小如果有BLOB对象建议修改成1G
max_allowed_packet 128M#MySQL连接闲置超过一定时间后(单位秒)将会被强行关闭
#MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout 1800
wait_timeout 1800#内部内存临时表的最大值 设置成128M。
#比如大数据量的group by ,order by时可能用到临时表
#超过了这个值将写入磁盘系统IO压力增大
tmp_table_size 134217728
max_heap_table_size 134217728#数据库错误日志文件
log_error error.log#慢查询sql日志设置
slow_query_log 1
slow_query_log_file slow.log
#开启binlog
log_binon#检查未使用到索引的sql
log_queries_not_using_indexes 1#针对log_queries_not_using_indexes开启后记录慢sql的频次、每分钟记录的条数
log_throttle_queries_not_using_indexes 5#作为从库时生效,从库复制中如何有慢sql也将被记录
log_slow_slave_statements 1#慢查询执行的秒数必须达到此值可被记录
long_query_time 8#检索的行数必须达到此值才可被记为慢查询
min_examined_row_limit 100#mysql binlog日志文件保存的过期时间过期后自动删除
expire_logs_days 5
2.6 将MySQL设为服务并启动测试
先将MySQL设置为使用service 命令启动的服务
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysql.server
启动并测试
ootmufeng support-files]# service mysql.server start
Starting MySQL.Logging to /usr/local/mysql/data/error.log.
... SUCCESS!
修改密码
[rootitlaoxin21 support-files]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.31Copyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.mysql alter user rootlocalhost identified by 123456;
Query OK, 0 rows affected (0.00 sec)mysql 查看是否正常启动
[rootmufeng support-files]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 79678 mysql 33u IPv6 244969 0t0 TCP *:mysql (LISTEN)[rootitmufeng support-files]# netstat -antup |grep mysql
tcp6 0 0 :::3306 :::* LISTEN 79678/mysqld
tcp6 0 0 :::33060 :::* LISTEN 79678/mysqld
可以看到已经正常启动了。
三. MySQL数据迁移
先从数据库中查找配置文件的默认目录
mysql show variables like datadir;
---------------------------------------
| Variable_name | Value |
---------------------------------------
| datadir | /usr/local/mysql/data/ |
---------------------------------------
1 row in set (0.04 sec)
2 . 登录目录查看是否存在
[rootmufeng ~]# cd /usr/local/mysql/data/
[rootmufeng data]# ls
auto.cnf error.log ibtmp1 mysql.ibd public_key.pem undo_001
ca-key.pem #ib_16384_0.dblwr #innodb_redo on.000001 server-cert.pem undo_002
ca.pem #ib_16384_1.dblwr #innodb_temp on.index server-key.pem
client-cert.pem ib_buffer_pool mufeng.pid performance_schema slow.log
client-key.pem ibdata1 mysql private_key.pem sys
[rootmufeng data]# 创建需要迁移到的目录
[rootmufeng data]# mkdir -p /data/mysql001停止数据库迁移数据
停止数据库
[rootmufeng data]# service mysql.server stop
Shutting down MySQL. SUCCESS! 拷贝数据库
rootmufeng data]# pwd
/usr/local/mysql/data
[rootmufeng data]# cp -a mysql /data/mysql001/授权
[rootmufeng data]# chown mysql:mysql -R !$
chown mysql:mysql -R /data/mysql001/
[rootmufeng data]# 修改配置文件
vim /etc/my.cnf 中设置 datadir /data/mysql001/mysql/data 6. 重新初始化
[rootmufeng data]# pwd
/usr/local/mysql/data
[rootmufeng data]# mysqld --initialize --usermysql --basedir/usr/local/mysql --datadir/data/mysql001/mysql/data重启数据库并测试
[rootmufeng data]# service mysql.server start
Starting MySQL.. SUCCESS! [rootmufeng data]# lsof -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 23359 mysql 24u IPv6 172326 0t0 TCP *:mysql (LISTEN)
[rootmufeng data]# mysql -uroot -p123456
如果你这里遇到 数据迁移结束重启数据库成功但无法登录的问题如下
启动后数据库可以用但无法登录
[rootmufeng data]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user rootlocalhost (using password: YES)此时最大的可能性是selinux没有关闭直接关闭就可以进入。
查看修改后的目录
mysql show variables like datadir;
-------------------------------------------
| Variable_name | Value |
-------------------------------------------
| datadir | /data/mysql001/mysql/data/ |
-------------------------------------------
1 row in set (0.00 sec)mysql
到此数据迁移就做完了这只是数据迁移的其中一种方法而非唯一方法。
总结 好啦这就是今天要分享给大家的全部内容了我们下期再见 博客主页mufeng.blog.csdn.net 本文由沐风晓月原创首发于CSDN博客 全力以赴持续学习不负如来不负卿