在Ubuntu-12.04.2上编译安装MySQL-5.6.10_MySQL
程序员文章站
2022-05-28 15:10:34
...
Ubuntu
以下安装中涉及的几点需要提前说明的问题:1. 所有下载的文件将保存在 /usr/local/src/ 目录下2. mysql 将以mysql用户运行,而且将加入 service 开机自动运行3. mysql 将被安装在 /usr/local/mysql/ 目录下4. mysql 默认安装使用 utf8 字符集5. mysql 的数据和日志文件保存在 /var/mysql/ 对应目录下6. mysql 的配置文件保存于/var/mysql/my.cnf 1: 下载安装编译MySQL源码需要的库 sudo apt-get install build-essential libncurses5-dev cmake 2: 下载并解压MySQL源码包下载地址:http://download.csdn.net/detail/yangshufengyrtyfyu/7531843
cd /usr/local/src/sudo wget -O mysql-5.6.10.tar.gz sudo tar -zxvf mysql-5.6.10.tar.gz sudo /usr/sbin/groupadd mysqlsudo /usr/sbin/useradd -g mysql mysql sudo mkdir -p /var/mysql/sudo mkdir -p /var/mysql/data/sudo mkdir -p /var/mysql/log/sudo chmod 777 /var/mysql/data 3: 使用cmake生成安装文件 cd mysql-5.6.10sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/var/mysql/data 4: 安装MySQLsudo makesudo make install sudo chmod +w /usr/local/mysqlsudo chown -R mysql:mysql /usr/local/mysqlsudo chown -R mysql:mysql /var/mysql/ sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18 sudo cp support-files/my-default.cnf /var/mysql/my.cnf (注意:my-large.cnf适用于1G内存左右的服务器,可以根据自己配置情况选用my-large.cnf 或 my-huge.cnf 等不同配置) sudo cp support-files/mysql.server /etc/init.d/mysqld 四. 配置启动MySQL 5.6.10 1. 若有需要请先修改 mysql 的配置 my.cnfvi /var/mysql/my.cnf 2. mysql 初始化安装/usr/local/mysql/scripts/mysql_install_db /--defaults-file=/var/mysql/my.cnf /--basedir=/usr/local/mysql /--datadir=/var/mysql/data /--user=mysql 即系一行sudo /usr/local/mysql/scripts/mysql_install_db --defaults-file=/var/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/var/mysql/data --user=mysql 3. 将 mysql 加入开机启动 sudo chmod +x /etc/init.d/mysqld vi /etc/init.d/mysqld (sudo vim /etc/init.d/mysqld 编辑此文件,查找并修改以下变量内容:)basedir=/usr/local/mysqldatadir=/var/mysql/data 保存退出 sudo chkconfig --add mysqld ===========================================Error:sudo: chkconfig:找不到命令Fixed:sudo apt-get install chkconfig=========================================== sudo chkconfig --level 345 mysqld on===========================================Error:/sbin/insserv: 没有那个文件或目录Fixed:sudo ln -s /usr/lib/insserv/insserv /sbin/insserv =========================================== /usr/local/mysql/bin/mysqladmin -u root password new passwordeg==>sudo /usr/local/mysql/bin/mysqladmin -u root password 123456 ===========================================Error:/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failederror: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!Fixed: Fixed:(本次原因为 系统有mysql的僵尸进程,可以干掉进程或重启) reboot=========================================== sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql Test:mysql -u root -p 4. 启动 mysqlsudo service mysqld restart //至此,安装已经完成
cd /usr/local/src/sudo wget -O mysql-5.6.10.tar.gz sudo tar -zxvf mysql-5.6.10.tar.gz sudo /usr/sbin/groupadd mysqlsudo /usr/sbin/useradd -g mysql mysql sudo mkdir -p /var/mysql/sudo mkdir -p /var/mysql/data/sudo mkdir -p /var/mysql/log/sudo chmod 777 /var/mysql/data 3: 使用cmake生成安装文件 cd mysql-5.6.10sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/var/mysql/data 4: 安装MySQLsudo makesudo make install sudo chmod +w /usr/local/mysqlsudo chown -R mysql:mysql /usr/local/mysqlsudo chown -R mysql:mysql /var/mysql/ sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18 sudo cp support-files/my-default.cnf /var/mysql/my.cnf (注意:my-large.cnf适用于1G内存左右的服务器,可以根据自己配置情况选用my-large.cnf 或 my-huge.cnf 等不同配置) sudo cp support-files/mysql.server /etc/init.d/mysqld 四. 配置启动MySQL 5.6.10 1. 若有需要请先修改 mysql 的配置 my.cnfvi /var/mysql/my.cnf 2. mysql 初始化安装/usr/local/mysql/scripts/mysql_install_db /--defaults-file=/var/mysql/my.cnf /--basedir=/usr/local/mysql /--datadir=/var/mysql/data /--user=mysql 即系一行sudo /usr/local/mysql/scripts/mysql_install_db --defaults-file=/var/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/var/mysql/data --user=mysql 3. 将 mysql 加入开机启动 sudo chmod +x /etc/init.d/mysqld vi /etc/init.d/mysqld (sudo vim /etc/init.d/mysqld 编辑此文件,查找并修改以下变量内容:)basedir=/usr/local/mysqldatadir=/var/mysql/data 保存退出 sudo chkconfig --add mysqld ===========================================Error:sudo: chkconfig:找不到命令Fixed:sudo apt-get install chkconfig=========================================== sudo chkconfig --level 345 mysqld on===========================================Error:/sbin/insserv: 没有那个文件或目录Fixed:sudo ln -s /usr/lib/insserv/insserv /sbin/insserv =========================================== /usr/local/mysql/bin/mysqladmin -u root password new passwordeg==>sudo /usr/local/mysql/bin/mysqladmin -u root password 123456 ===========================================Error:/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failederror: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!Fixed: Fixed:(本次原因为 系统有mysql的僵尸进程,可以干掉进程或重启) reboot=========================================== sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql Test:mysql -u root -p 4. 启动 mysqlsudo service mysqld restart //至此,安装已经完成