MySQL系列—MySQL的几种安装方式及配置
程序员文章站
2022-07-02 08:43:37
1、mysql rpm包安装
# 下载安装源
[root@localhost src]# wget https://dev.mysql.com/get/mysql-comm...
1、mysql rpm包安装
# 下载安装源 [root@localhost src]# wget https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # 安装源 [root@localhost src]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
2、mysql yum工具安装
[root@localhost /]# yum install -y mysql-community-server # 查看安装后的文件路径 [root@localhost /]# which mysql mysqld_safe mysqlbinlog mysqldump /usr/bin/mysql /usr/bin/mysqld_safe /usr/bin/mysqlbinlog /usr/bin/mysqldump
如需查看每个安装包包含的详细文件列表,可以使用“rpm -ql 软件名”查看,该命令列出了当前rpm包的文件列表及安装位置。如下:
[root@localhost /]# rpm -ql openssl /etc/pki/tls/misc/c_hash /etc/pki/tls/misc/c_info /etc/pki/tls/misc/c_issuer /etc/pki/tls/misc/c_name /usr/bin/openssl /usr/share/doc/openssl-1.0.1e /usr/share/doc/openssl-1.0.1e/changes .......
3、mysql 安装
# 安装编译所需的软件包 [root@localhost src]# yum install -y make gcc-c++ cmake bison-devel ncurses-devel gcc autoconf automake zlib* fiex* libxml* # 下载源码 [root@localhost src]# wget https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.24.tar.gz # 解压源码包 [root@localhost src]# tar xvf mysql-5.6.24.tar.gz [root@localhost src]# cd mysql-5.6.24 # 进行编译配置,这个过程将耗时3~5分钟 [root@localhost mysql-5.6.24]# cmake \ -dcmake_install_prefix=/usr/local/mysql \ -dmysql_datadir=/data/mysql/data \ -dsysconfdir=/etc \ -dwith_myisam_storage_engine=1 \ -dwith_innobase_storage_engine=1 \ -dmysql_unix_addr=/tmp/mysql/mysql.sock \ -dmysql_tcp_port=3306 \ -denabled_local_infile=1 \ -dwith_partition_storage_engine=1 \ -dextra_charsets=all \ -ddefault_charset=utf8 \ -ddefault_collation=utf8_general_ci # 编译并且安装 # 编译过程大约需要30~50分钟 [root@localhost mysql-5.6.24]# make [root@localhost mysql-5.6.24]# make install # 设置mysql用户和组 [root@localhost mysql-5.6.24]# groupadd mysql [root@localhost mysql-5.6.24]# useradd -r -g mysql mysql [root@localhost mysql-5.6.24]# cd /usr/local/mysql/ # 设置权限以便mysql能修改文件 [root@localhost mysql]# chown -r mysql:mysql ./ [root@localhost mysql]# chown -r mysql:mysql /data/mysql/data # 初始化数据库 # 需要注意的是此处设置的数据目录应该与之前的mysql_datadir指定的目录相同 [root@localhost mysql]# scripts/mysql_install_db --user=mysql -ldata=/data/mysql/data # 恢复权限设置,并修改相应目录的权限以便mysql修改 [root@localhost mysql]# chown -r root ./ [root@localhost mysql]# chown -r mysql data
上述示例表示将mysql软件安装到/usr/local/mysql目录下,本示例中使用的参数及其含义如下:
dcmake_install_prefix:表示将mysql安装到何处,此例中将安装到/usr/local/mysql目录中; dmysql_datadir:表示mysql的数据文件存放目录; dsysconfdir:配置文件所在目录; dwith_myisam_storage_engine:将myisam存储引擎编译到服务中; dwith_innobase_storage_engine:将innodb存储引擎编译到服务中; dmysql_unix_addr: dmysql_tcp_port:默认使用的端口; denabled_local_infile:指定是否允许本地执行load data infile; dwith_partition_storage_engine:将分区引擎编译到服务中; dextra_charsets:让服务支持所有扩展字符集; ddefault_charset:服务使用的默认字符集,此处设置为utf8; ddefault_collation:默认的排序规则。编译安装mysql时有许多参数,这些参数的详细含义和说明可以在官方网站中查找:https://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
安装的依赖包的作用:
gcc/g++:mysql 5.6开始,需要使用g++进行编译; cmake:mysql 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本; bison:mysql语法解析器需要使用bison进行编译; ncurses-devel:用于终端操作的开发包; zlib:mysql使用zlib进行压缩; libxml:用于xml输入输出方式的支持; openssl:使用openssl安全套接字方式通信; dtrace:用于诊断mysql问题。完成上述安装步骤还不够,还需要为mysql添加配置选项、启动停止脚本等。
cd /usr/local/mysql/ #去掉配置文件中的注释行仅显示有效行 grep -v "^#" my.cnf #将启动脚本放到/etc/init.d目录中 cp support-files/mysql.server /etc/init.d/mysqld #将mysql添加为系统服务 chkconfig --add mysqld service mysqld start #此时mysql的root用户还没有密码,应该为其设置密码 /usr/local/mysql/bin/mysql -u root -h 192.168.146.150 -p #由于还没有设置密码因此直接按下enter键即可 #设置root用户的密码为888888 set password = password('888888'); #设置完成后输入quit退出 quit
附:安装过程中的问题总结
1、-bash:mysql:command not found
因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时, 系统在/usr/bin下面查此命令,所以找不到了。
解决办法:使用如下命令做个链接即可
ln -s /usr/local/mysql/bin/mysql /usr/bin
2、starting mysql..the server quit without updating pid file ([failed]/mysql/server03.mylinux.com.pid).
解决办法:
修改/etc/my.cnf 中datadir,指向正确的my文件目录
3、error 2002 (hy000): can’t connect to local mysql server through socket ‘/tmp/mysql.sock’ (2)
解决办法:
新建一个链接或在mysql中加入-s参数,直接指出mysql.sock位置。
ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock /usr/local/mysql/bin/mysql -u root -s /usr/local/mysql/data/mysql.sock