mysql源码包安装
一、准备编译环境
# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
(内存不要太小)
二、准备源码包
# groupadd mysql
# useradd -r -g mysql -s /bin/false mysql (-r:系统用户,-g:组,-s:指定shell)
# tar xvf mysql-5.7.19.tar.gz
# cd mysql-5.7.19(以下都在该文件夹下完成)
[root@mysql3 mysql-5.7.19]# mv ../boost_1_59_0.tar.gz .
[root@mysql3 mysql-5.7.19]# tar xf boost_1_59_0.tar.gz(boost可以理解为MySQL的库文件)
配置
[root@mysql-5.7.17 ~]# cmake . \
-DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
如果cmake失败,请将CMakeCache.txt缓存移除
编译
# make
等待1个小时左右
安装
# make install
三、初始化
# cd /usr/local/mysql
# mkdir mysql-files
# chown -R mysql.mysql /usr/local/mysql
# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
# vim /etc/my.cnf
[root@mysql1 mysql]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
四、开机启动MySQL
# cp support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on
# service mysqld start
# ps aux |grep mysqld
mysql -u root -p '密码' 登陆有问题吗?
/usr/local/mysql/bin/mysql -u root -p'x/dwiQ2<l:hb'(引号内为上一步的临时密码)
配新密码
/usr/local/mysql/bin/mysqladmin -u root -p 'x/dwiQ2<l:hb' password 'QinFeng@123'
show databases; 看到库即可。
$PATH(必须做,有点的时候回报错,确保万无一失)
[root@mysql2 mysql]# mysql
-bash: mysql: command not found
[root@mysql2 mysql]# /usr/local/mysql/bin/mysql (关键)
[root@mysql1 mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@mysql1 mysql]# source /etc/profile
[root@localhost ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.19 Source distribution
登录成功
五、报错记录
1、[root@localhost mysql]# service mysqld start
Starting MySQL.2019-11-02T11:02:31.316199Z mysqld_safe error: log-error set to '/var/lble for user 'mysql'.
ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.pid)
[root@localhost mysql]# mkdir /var/lo
local/ lock/ log/
[root@localhost mysql]# mkdir /var/log/mariadb
[root@localhost mysql]# touch /var/log/mariadb/mariadb.log
[root@localhost mysql]# chown -R mysql:db /var/log/mariadb
chown: invalid group: ‘mysql:db’
[root@localhost mysql]# chown -R mysql:mysql /var/log/mariadb/
[root@localhost mysql]#
[root@localhost mysql]# service mysqld start
Starting MySQL. SUCCESS!
2、[root@localhost ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
解决:[root@localhost ~]# yum -y install mariadb mariadb-server
[root@localhost ~]# systemctl restart mariadb
[root@localhost ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.64-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
最新文章
- 【记录】ASP.NET MVC 4/5 Authentication 身份验证无效
- spring 包下载地址
- SPARQL1.1 101 Language and Jena support
- [Android Pro] Android签名与认证详细分析之一(CERT.RSA剖析)
- IAR:Error [Li005]:no definition for";***"; 问题之连接
- 2.5.1 使用alertDialog
- Android 连接Wifi和创建Wifi热点 demo
- Angular绑定数据时转义html标签
- [Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
- CCF系列之模板生成系统( 201509-3 )
- NetBeans部署项目(Extjs)报错(二)
- TCPDF说明文档
- 地址栏输入url按回车发生了什么
- oracle里实例和数据库之间的关系
- Docker Images for MySQL Group Replication 5.7.14
- 遍历 JSON JavaScript 对象树中的所有节点
- 7.打开文件、文件读写操作、with方式、文件常用函数
- dd-wrt 中继配置
- lucas 快速求大数组合数
- JBDC—③数据库连接池的介绍、使用和配置