Windows下安装MySQL
从MySQL官网(http://www.mysql.com/downloads/mysql/)下载安装程序,本例中使用的是64位Windows版本(mysql-8.0.17-winx64)。
解压
配置MySQL
如下图:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\XXX\\Software\\mysql
# 设置mysql数据库的数据的存放目录
datadir=D:\\XXX\\Software\\mysql\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
初始化(cmd管理员)
mysqld --initialize 这一步会有个小小的卡顿,执行完初始化,你的MySQL目录里就会多个data目录
获取初始密码
打开MySQL的安装目录,打开刚刚生成的data目录,找到【.err】文件(同Linux的mysql的log日志),打开它。用notepad++或者记事本打开【.err】文件,Ctrl+f定位到【temporary password is generated】localhost冒号后面就是密码。拿到它!
将MySQL的服务添加到系统的服务中并启动
mysqld --install
net start mysql
Linux下安装
下载
下载mysql安装包(http://www.mysql.com/downloads/mysql/)
这里选择8.0.17,下载并上传至服务器。
创建目录:mkdir /usr/local/mysql
复制:cp /home/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz /usr/local
cd /usr/local
解压:tar -zxvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
报错,需要xz提取tar包
xz -d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
报错:-bash: xz: command not found
安装xz工具
下载: http://tukaani.org/xz/
解压:tar zxvf xz-5.2.5.tar.gz
cd xz-5.2.5
./configure --prefix=/opt/gnu/xz
make
sudo make install
cd /usr/local/bin/
ln -s /opt/gnu/xz/bin/xz
安装xz工具后提取文件,解压
xz -d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql
添加系统mysql组 groupadd mysql
创建用户useradd mysql -g mysql -d /home/mysql
修改当前目录拥有者为mysql用户 chown -R mysql:mysql mysql
su - mysql
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
一定要收集到初始化密码
su 切换到root用户
配置 vim /etc/my.cnf
[mysqld]
wait_timeout = 31536000
interactive_timeout = 31536000
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/tmp/mysql.sock
lower_case_table_names = 1
log-error=/usr/local/mysql/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
mkdir /usr/local/mysql/log
mkdir /usr/local/mysql/tmp
touch /usr/local/mysql/log/mysqld.log
chmod 777 -R /usr/local/mysql
添加开机启动 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改 vim /etc/init.d/mysqld
添加路径 在46行
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
切换至mysql用户启动mysql service mysqld start
加入开机起动 chkconfig --add mysqld (root用户)
ln -s /usr/local/mysql/bin/mysql /usr/bin (root用户)
ln -s /usr/local/mysql/tmp/mysql.sock /tmp/mysql.sock (root用户 不加登录的时候回报 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock')
切换到mysql 用户 登录修改密码 mysql -uroot -p 上面初始化时的密码
alter user 'root'@'localhost' identified by 'root';
set global wait_timeout=604800;
set global interactive_timeout=604800;
flush privileges; #刷新权限
配置远程连接
mysql -u root -proot 连接数据库
切换数据库至mysql
查看user表
修改host为%
update user set host = ‘%’ where user = ‘root’;
或
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
flush privileges; 刷新权限