MySQL的几种安装方式及配置问题小结
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
[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
[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.......
# 安装编译所需的软件包[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
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时有许多参数,这些参数的详细含义和说明可以在官方网站中查找:http://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 mysqldservice mysqld start#此时MySQL的root用户还没有密码,应该为其设置密码/usr/local/mysql/bin/mysql -u root -h 192.168.146.150 -p#由于还没有设置密码因此直接按下Enter键即可#设置root用户的密码为888888set 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
解决办法:
修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录
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
更多相关文章
- Android异步加载图像小结 (含线程池,缓存方法)
- android WebView 图片缩放功能小结
- Android(安卓)Camera 使用小结
- android fragment学习5--fragment扩展 TabLayout非自定义
- Android(安卓)电源系列小结s
- Android(安卓)后台线程调用前台线程的几种方法
- 我今天的面试题,注册广播有几种方式,这些方式有何优缺点?请谈谈Andr
- Android中自定义对话框小结
- Android(安卓)代码设置Color的几种方式