在linux目录,编写可执行文件:
install_mysql.sh
#!/bin/sh
# 参数设置
INSTALL_PATH=/usr/local/mysql # 指定安装目录
DATA_PATH=/mnt/datadisk1/mysql # 指定数据目录
if [ -s /etc/my.cnf ];then
rm -rf /etc/my.cnf
fi
echo "----------------------------------start install mysql -----------------------------"
yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake
mkdir -p $DATA_PATH
if [ 'grep "mysql" /etc/passwd | wc -l' ]; then
echo "adding user mysql"
groupadd mysql
useradd -s /sbin/nologin -M -g mysql mysql
else
echo "mysql user exists"
fi
echo "------------------------------unpackaging mysql -----------------------------------"
tar -xvf mysql-5.5.20.tar.gz
cd mysql-5.5.20
echo "-------------------------configuring mysql,please wait-----------------"
cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH \
-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_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=$DATA_PATH \
-DMYSQL_USER=mysql
if [ $? -ne 0 ];then
echo "configure failed ,please check it out!"
exit 1
fi
echo "make mysql, please wait for 10 minutes"
make
if [ $? -ne 0 ];then
echo "make failed ,please check it out!"
exit 1
fi
make install
chmod +w $INSTALL_PATH
chown -R mysql:mysql $INSTALL_PATH
ln -s $INSTALL_PATH/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
cd support-files/
cp my-large.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysqld
sed -i 's#^thread_concurrency = 8#& \ndatadir = '$DATA_PATH' \nbasedir = '$INSTALL_PATH' \nlog-error = '$INSTALL_PATH'/mysql_error.log \npid-file = '$INSTALL_PATH'/data/mysql.pid \ndefault-storage-engine=MyISAM \nuser = mysql#g' /etc/my.cnf
$INSTALL_PATH/scripts/mysql_install_db --user=mysql --basedir=$INSTALL_PATH --datadir=$DATA_PATH
chmod +x /etc/init.d/mysqld
sed -i "s#^basedir=#basedir="$INSTALL_PATH"#g" /etc/init.d/mysqld
sed -i "s#^datadir=#datadir="$DATA_PATH"#g" /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
export PATH=/usr/local/mysql/bin:$PATH
ln -s $INSTALL_PATH/bin/mysql /usr/bin
echo "------------------------------------------------------------------------------------------"
echo "------------------------mysql install successful,congratulations!-------------------------"
echo "------------------------------------------------------------------------------------------"
把执行的包和执行文件放在同一目录
执行成功完毕后需要的一些操作:
修改数据库密码:
直接myslq进入数据库:
mysql> use mysql;
mysql> update user set password=password("tradease@2017") where user='root';
mysql> flush privileges;
mysql> exit;
/**运行远程连接**/
use mysql;
UPDATE user SET `Host` = '%' WHERE `User` = 'root' and Host='::1' LIMIT 1;
flush privileges;
windows下,Mysql允许远程连接
登录mysql,输入mysql -uroot -p
按回车键,输入密码
切换到mysql数据库,输入命令use mysql;
开启远程连接,输入命令GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
刷新权限,命令为:FLUSH PRIVILEGES;
重启mysql服务