第十周--作业
1、通过编译,二进制安装MySQL5.7
二进制安装步骤:
一、安装相关依赖包
[root@localhost ~]#yum -y install libaio numactl
二、创建系统用户
[root@localhost ~]#useradd -r -s /sbin/nologin mysql
三、准备程序文件
[root@localhost ~]#wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
#https://cdn.mysql.com//Downloads/MySQL-Cluster-8.0/mysql-cluster-8.0.28-linux-glibc2.12-x86_64.tar.gz
[root@localhost ~]#tar xf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@localhost ~]#cd /usr/local/
[root@localhost ~]#ln -s mysql-5.7.36-linux-glibc2.12-x86_64/ mysql
[root@localhost ~]#chown -R root:root /usr/local/mysql
四、准备环境变量
[root@localhost ~]#echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@localhost ~]#. /etc/profile.d/mysql.sh
五、编写配置文件
[root@localhost ~]#vim /etc/my.cnf
[mysqld]
log_bin
skip_name_resolve=1
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[mysql]
prompt=(\\u@\\h) [\\d]>\\_
[client]
socket=/data/mysql/mysql.sock
六、初始化数据库文件并提取root密码
[root@localhost ~]#mysqld --initialize --user=mysql --datadir=/data/mysql
...省略...
2019-07-04T13:03:54.258140Z 1 [Note] A temporary password is generated for
root@localhost: LufavlMka6,! #注意生成root的初始密码
[root@localhost ~]#grep password /data/mysql/mysql.log
2019-12-26T13:31:30.458826Z 1 [Note] A temporary password is generated for
root@localhost: LufavlMka6,!
[root@localhost ~]#awk '/temporary password/{print $NF}' /data/mysql/mysql.log
LufavlMka6,!
七、准备启动服务脚本
[root@localhost ~]#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#添加mysql服务
[root@localhost ~]#chkconfig --add mysqld
[root@localhost ~]#service mysqld start
八、修改口令
[root@localhost ~]#mysqladmin -uroot -p'LufavlMka6,!' password magedu
九、测试登陆
[root@localhost ~]#mysql -uroot -pmagedu
编译安装步骤:
一、安装相关依赖包 |
#本操作适用版本:MySQL-5.6.51.tar.gz,mariadb-10.2.18.tar.gz
yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel perl-Data-Dumper
二、创建系统用户账号
[root@localhost ~]#useradd -r -s /sbin/nologin -d /data/mysql mysql
三、准备数据库目录
[root@localhost ~]#mkdir /data/mysql
[root@localhost ~]#chown mysql.mysql /data/mysql
四、下载压缩源码并解压
[root@localhost ~]#wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.51.tar.gz
[root@localhost ~]#tar xvf mysql-5.6.51.tar.gz -C /usr/local/src
五、源码编译安装指定安装参数
[root@localhost ~]#cd /usr/local/src/mysql-5.6.51/
[root@localhost ~]#cmake . \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
[root@localhost ~]#make && make install
六、准备环境变量
[root@localhost ~]#echo 'PATH=/apps/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@localhost ~]#. /etc/profile.d/mysql.sh
七、生成数据库文件
[root@localhost ~]#cd /apps/mysql/
[root@localhost ~]#scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
八、准备配置文件
[root@localhost ~]#cp -b /apps/mysql/support-files/my-default.cnf /etc/my.cnf
#旧版本或mariadb-10.2.18.tar.gz
[root@localhost ~]#cp /apps/mysql/support-files/my-huge.cnf /etc/my.cnf
九、准备启动脚本并启动服务
[root@localhost ~]#cp /apps/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@localhost ~]#chkconfig --add mysqld
[root@localhost ~]#service mysqld start
十、安全初始化
[root@localhost ~]#mysql_secure_installation
2、二进制安装mariadb10.4
安装步骤:
1、安装相关包 [root@centos7 ~]#yum -y install libaio numactl-libs 2、创建用户和组 [root@centos7 ~]#groupadd mysql [root@centos7 ~]#useradd -r -g mysql -s /bin/ false mysql 3、准备程序文件 [root@centos7 ~]#tar xfv mariadb-10.4.25-linux-glibc_214-x86_64.tar.gz -C /usr/local [root@centos7 ~]#cd /usr/local/ [root@centos7 local]#ln -s mariadb-10.4.25-linux-glibc_214-x86_64 mysql [root@centos7 local]#chown -R root.root /usr/local/mysql/ 4、准备环境变量 [root@centos7 local]#echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh [root@centos7 local]#. /etc/profile.d/mysql.sh 5、创建数据库目录,修改权限 [root@centos7 local]#mkdir /data/mysql -pv mkdir: created directory ‘/data/mysql’ [root@centos7 local]#chown -R mysql:mysql /data/mysql/ 6、准备配置文件 [root@centos7 local]#cd /usr/local/mysql/ [root@centos7 mysql]#cp /etc/my.cnf{,.bak} [root@centos7 mysql]#vim /etc/my.cnf [root@centos7 mysql]#cat /etc/my.cnf [mysqld] #datadir=/var/lib/mysql datadir=/data/mysql socket=/ var /lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] #log-error=/var/log/mariadb/mariadb.log log-error=/data/mysql/mysql.log pid-file=/ var /run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d 7、创建配置文件中指定的路径并修改权限 [root@centos7 mysql]#mkdir / var /lib/mysql [root@centos7 mysql]#chown -R mysql:mysql / var /lib/mysql/ [root@centos7 mysql]#touch / var /lib/mysql/mysql.sock [root@centos7 mysql]#ll / var /lib/mysql total 0 -rw-r--r-- 1 root root 0 Feb 1 13:00 mysql.sock [root@centos7 mysql]#chmod guo+wr / var /lib/mysql/mysql.sock [root@centos7 mysql]#ll / var /lib/mysql total 0 -rw-rw-rw- 1 root root 0 Feb 1 13:00 mysql.sock [root@centos7 mysql]#touch /data/mysql/mysql.log [root@centos7 mysql]#ll /data/mysql/ total 0 -rw-r--r-- 1 root root 0 Feb 1 13:18 mysql.log [root@centos7 mysql]#chmod guo+rw /data/mysql/mysql.log [root@centos7 mysql]#ll /data/mysql/mysql.log -rw-rw-rw- 1 root root 0 Feb 1 13:18 /data/mysql/mysql.log [root@centos7 mysql]#mkdir / var /run/mariadb [root@centos7 mysql]#chown -R mysql:mysql / var /run/mariadb/ [root@centos7 mysql]#touch / var /run/mariadb/mariadb.pid [root@centos7 mysql]#ll / var /run/mariadb/ total 0 -rw-r--r-- 1 root root 0 Feb 1 13:32 mariadb.pid [root@centos7 mysql]#chmod guo+rw / var /run/mariadb/mariadb.pid [root@centos7 mysql]#ll / var /run/mariadb/ total 0 -rw-rw-rw- 1 root root 0 Feb 1 13:32 mariadb.pid 8、初始化数据库文件并生成 root 空密码 [root@centos7 mysql]#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql 9、启动MariaDB守护程序 [root@centos7 mysql]#./bin/mysqld_safe --user=mysql --datadir=/data/mysql & 10、测试MariaDB守护程序 [root@centos7 mysql]#cd ./mysql-test ; perl mysql-test-run.pl 11、准备服务脚本和启动 [root@centos7 mysql]#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld [root@centos7 mysql]#chkconfig --add mysqld [root@centos7 mysql]#systemctl start mysqld.service |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通