搜索了好久,怎么安装mysql。
因为坑爹的mysql的源码安装还需要cmake这个步骤。
1. 下载源码包
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
tar xvf mysql-5.6.16.tar.gz
cd mysql-5.6.16
2. 使用cmake组织源码
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=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
备注
- 注意,这个cmake是替代以前的./configure 步骤。
- 如果你需要更多的参数,请参考http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html。
3. 编译源码
make && sudo make install
4. 修改文件权限,生成数据库
groupadd mysql
useradd -r -g mysql mysql
cd /usr/local/mysql
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql --ldata=/data/mysql/data
chown -R root .
chown -R mysql data
说明:
-
参数–ldata说明你的数据文件存放的目录,如果你使用默认的路径,那么这个参数可以去除。如果你不增加此参数,但是在配置文件(见下方的datadir配置)中指定了其他的目录,那么会在启动MySQL的时候出现类似的提示:
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/data/VM_208.pid).
出现这个的解决办法就是增加–ldata参数,指定和配置文件中datadir相同的值,重新执行mysql_install_db即可。
5. 设置配置文件
MySQL 5.6.8开始,就不在分发my.cnf等配置的demo,所以想随便拿一个用都比较麻烦。
my.cnf的配置文件的默认读取顺序为
File Name(上面的优先) | Purpose |
---|---|
/etc/my.cnf | Global options |
/etc/mysql/my.cnf | Global options |
SYSCONFDIR/my.cnf | Global options |
$MYSQL_HOME/my.cnf | Server-specific options |
defaults-extra-file | The file specified with –defaults-extra-file=path, if any |
~/.my.cnf | User-specific options |
~/.mylogin.cnf | Login path options |
示例配置文件
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
default-character-set = utf8
[mysqld]
port=3306
bind-address=127.0.0.1
basedir=/usr/local/mysql
datadir=/data/data/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
############# default settings ################
# time zone
default-time-zone = system
character-set-server = utf8
default-storage-engine = InnoDB
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
6. 启动MySQL,开机自动启动设置
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
/etc/init.d/mysql start
或者
service mysql start
chkconfig --add mysql
##有的系统需要下面的
chkconfig --level 345 mysql on
7. 修改root密码
默认的密码是空的,很危险,需要修改一下。
在此之前,为方便调用mysql,我们先生成一个mysql的软链。
ln -s /usr/local/mysql/bin/mysql /usr/bin/
然后修改密码
mysql -uroot -h127.0.0.1 -p
mysql> SET PASSWORD = PASSWORD('123456');
将来如果你忘记了root密码,可以参考重置MySQL密码。
通过上面的步骤,就可以使用MySQL数据库了,另外可以为mysql安装phpmyadmin作为前端的管理界面。