MySQL 本地、服务器安装及配置

MySQL 安装及配置

Windows

可参考菜鸟教程

非初次安装则可能出现以下错误:

The service already exists!
这是由于之前 mysql 服务未卸载干净
解决办法:
1.重新以管理员身份打开cmd
2.输入命令sc query mysql 查看名为mysql的服务
3.输入命令sc delete mysql,删除该mysql 

初次安装

1.在解压后的文件夹下创建 my.ini 配置文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 错误日志log-errol开启
log-error=A:\\software\\mysql-8.0.15-winx64\\log-error.txt
# 查询日志:log
log=A:\\software\\mysql-8.0.15-winx64\\log.txt
# 设置mysql的安装目录
basedir=A:\\software\\mysql-8.0.15-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.以管理员身份打开 cmd 命令行工具,切换到 bin 目录下
# 初始化数据库
mysqld --initialize --console
# 2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
# APWCY5ws&hjQ 就是初始密码,后续登录需要用到,也可以在登陆后修改密码

mysqld install

3. 启动 mysql 服务
net start mysql
# 若显示 xxx 不是内部或外部命令,也不是可运行的程序
或批处理文件,请去配置环境变量PATH 
%SystemRoot%\system32
4. 登陆后修改密码
# 不同的版本好像语法不同
set password = '123456';
exit;
使用 MySQL 可视化工具 Navicat for MySQL
连接本地 MySQL
1251错误
解决方法一:

mysql> alter user root@localhost identified by 'newpassword' password expire never;

mysql> alter user root@localhost identified with mysql_native_password by 'newpassword';

mysql> flush privileges;    # 刷新权限
连接远程服务器 MySQL

1.ssh通道的目的是连接到服务器的。需要服务器的账号密码!服务器的账号密码!

2.常规则是要连接到数据库。需要数据库的账号密码,数据库的账号密码!

2003错误
解决方法:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 将bind-address = 127.0.0.1 注销
# 重启 mysql 服务
service mysql restart
# 或者 /etc/init.d/mysql restart

Ubuntu 18.04

sudo apt-get install mysql-server
apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
安装之后可以直接使用MySQL的root用户免密登录进入MySQL
Enter password 不用输入直接回车即可
# 更改密码
>use mysql;
>update user set plugin='mysql_native_password' where user='root';
>update user set authentication_string=password('123456') where user='root';
>flush privileges;
# 授权允许远程访问
>grant all privileges on *.* to 'root'@'%' identified by 'your password';
>flush privileges; 

>revoke all on *.* from dba@localhost;

你可能感兴趣的:(mysql)