linux 进行mysql安装
# yum -y install make gcc-c++ cmake bison-devel ncurses-devel // 安装编译代码需要的包
# wget http://www.mysql.com/Downloads/MySQL-5.6/mysql-5.6.27.tar.gz // 下载mysql包
# tar -zxvf mysql-5.6.27.tar.gz // 解压mysql包
# cd mysql-5.6.27
/ 采用Cmake编译:
#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLE_DOWNLOADS=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci
make && make install
安装过程可能时间有点长。
2.配置MySQL
查看是否有mysql用户及用户组
cat /etc/passwd 查看用户列表
cat /etc/group 查看用户组列表如果没有就创建
groupadd mysql
useradd -g mysql mysql
修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql
进入安装路径
cd /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
执行mysql_install_db命令的时候后面的参数一定要加上,--user代表运行用户,--basedir代表MySql安装目录,--datadir代表数据库数据所在目录
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
启动MySQL
添加服务,拷贝服务脚本到init.d目录,并设置开机启动
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql ON
service mysql start --启动MySQL配置用户
**启动时会 报错:
1) Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/iZ2zegxohhsdr2ypoihxvsZ.pid)?
解决:
1) mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,
请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir).
datadir = /usr/local/mysql/data ,并且去除#
设置之前,我们需要先设置PATH,要不不能直接调用mysql
修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
让配置立即生效
# source /etc/profile
mysql-uroot // 进入mysql
mysql> SET PASSWORD = PASSWORD(‘root‘); // 设置密码
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘192.168.%‘ IDENTIFIED BY ‘rootroot‘ WITH GRANT OPTION; // 设置远程访问
============== 密码错误 进不去数据库解决 ===========================
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(‘newpassword‘) where USER=‘root‘;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
=============== Mysql授权远程访问 ============================
1.GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘47.100.16.97‘ IDENTIFIED BY ‘[email protected]‘ WITH GRANT OPTION;
或
2.GRANT ALL PRIVILEGES ON *.* TO [email protected]‘%‘IDENTIFIED BY ‘[email protected]‘ WITH GRANT OPTION;
3.FLUSH PRIVILEGES;
致此本次安装完成,仅供参考,多多建议,共同进步 。
原文地址:https://www.cnblogs.com/victorcode/p/8295942.html