Mysql安装

目录

一、安装Mysql-Windows

1、安装包下载

2、配置环境变量

3、生成data文件

4、安装mysql

5、启动服务

6、登录Mysql

7、停止MySQL服务

8、卸载Mysql服务

二、Linux安装mysql(联网)

1、安装服务器端:sudo apt-get install mysql-server

2、安装客户端:sudo apt-get install mysql-client

3、启动服务:sudo service mysql start

4、关闭服务:sudo service mysql stop

5、查看:ps -aux|grep mysql sudo service mysql

6、启动mysql客户端 mysql -uroot -p123456

7、查看有几个数据库 show databases;

8、启动navicat 一般乱码修改 start.navicat 文件 -->en_US.UTF-8改为zh_CN.UTF-8

9、Mysql默认绑定127.0.0.1 要改为外网IP

10、重启服务:sudo service mysql restart

11、启动软件 navicat

12、mysql日志文件:

三、Linux安装Mysql(离线)

1.安装包

2.卸载本机MySQL

3.解压安装包到/usr/local下

4.创建用户和组

5.安装MySQL

6.启动MySQL

7.通过初始密码登录MySQL并修改密码

8.关闭MySQL服务,查看是否成功

9.设置开机自启

10.配置全局环境变量

11.登录数据库


一、安装Mysql-Windows

安装步骤:

1、安装包下载

下载地址:https://dev.mysql.com/downloads/mysql/

Mysql国内镜像:Index of /mysql/MySQL-8.0/

下载并解压

2、配置环境变量

变量名:MYSQL_HOME

变量值:E:\Mysql\mysql-8.0.22-winx64

3、生成data文件

以管理员身份运行cmd

进入C:\software\mysql-8.0.19-winx64.zip\mysql-8.0.19-winx64\bin下

执行命令:mysqld --initialize-insecure --user=mysql  在C:\software\mysql-8.0.19-winx64.zip\mysql-8.0.19-winx64下和bin同级目录生成data目录

4、安装mysql

继续执行命令:mysqld -install

5、启动服务

继续执行命令:net start MySQL

6、登录Mysql

登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)

mysql -u root -p

7、停止MySQL服务

打开cmd,切换到mysql的bin目录下,输入命令net stop mysql,停止mysql服务;

8、卸载Mysql服务

①打开mysql的安装目录,找到data文件夹,将其删除!

②回到cmd命令窗口,输入mysqld -remove

二、Linux安装mysql(联网)

1、安装服务器端:sudo apt-get install mysql-server

2、安装客户端:sudo apt-get install mysql-client

3、启动服务:sudo service mysql start

4、关闭服务:sudo service mysql stop

5、查看:ps -aux|grep mysql sudo service mysql

配置:/etc/mysql/mysql.cnf

一般在 /etc/mysql/mysql.conf.d/下 的mysqld.cnf文件 端口3306

6、启动mysql客户端 mysql -uroot -p123456

7、查看有几个数据库 show databases;

8、启动navicat 一般乱码修改 start.navicat 文件 -->en_US.UTF-8改为zh_CN.UTF-8

创建数据库:create datebase test2 charset=utf-8;

使用数据库 use test2

展示表:show tables;

9、Mysql默认绑定127.0.0.1 要改为外网IP

终端 sudo vi /etc/mysql/mysql.conf.d/mysql.cnf

找到bind-address 从127.0.0.1改成192.168.142.128

10、重启服务:sudo service mysql restart

项目中给授权:grant all privileges on test2.* to 'root'@'192.168.142.128'

identified by '123456' with grant option;

使授权生效 flush privileges;

查看表结构 desc table 表名

11、启动软件 navicat

注意:直接在左侧菜单点击是打不开的

需要 cd navicat文件夹,然后输入命令 ./start_navicat

如果需要注册,就删掉桌面的 隐藏文件.navicat64 文件夹

12、mysql日志文件:

一、打开myslq配置文件,去除68,69行注释,保存。

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

二、重启mysql服务

三、打开Mysql日志文件:/var/log/mysql/mysql.log

实时查看 sudo tail -f /var/log/mysql/mysql.log

批量执行sql文件:source areas.sql

项目mysql连接

主机:192.168.142.128 端口:3306

用户名:root 密码:123456

三、Linux安装Mysql(离线)

1.安装包

自行下载

2.卸载本机MySQL

查看rpm包

rpm -qa|grep mysqlxxx

卸载MySQL(如果已存在MySQL再执行)

rpm -e --nodeps xxx

3.解压安装包到/usr/local下

tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local

创建软连接,方便今后升级

ln -s /usr/local/mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql

4.创建用户和组

groupadd mysql

useradd -md /home/mysql -r -g mysql mysql

5.安装MySQL

修改工作目录权限

cd /usr/local/mysql

chown -R mysql:mysql ./

在etc目录下创建my.cnf ,5.7.18版本后需要自己创建

cd /etc

touch my.cnf

编辑配置文件my.cnf

vi my.cnf

可以参考下面内容

[mysqldump]
socket = /home/mysql/data/mysqld.sock
[mysqladmin]
socket = /home/mysql/data/mysqld.sock
[mysql]
prompt=(\\u@\\h) [\\d]>\\_
socket = /home/mysql/data/mysqld.sock
[client]
port = 3306
#default-character-set = utf8
socket = /home/mysql/data/mysqld.sock
[mysqld]
symbolic-links=0
basedir = /usr/local/mysql
datadir = /home/mysql/data
tmpdir = /home/mysql/tmp/
log-error = /home/mysql/data/mysql-error.log
slow_query_log = on
slow_query_log_file = /home/mysql/data/mysql-slow.log
long_query_time = 5
log_queries_not_using_indexes = on
pid-file = /home/mysql/data/mysqld.pid
log-bin = /home/mysql/binlog/mysql-bin
server_id = 1
max_binlog_size = 1G
binlog_format = row
binlog_row_image = full
socket = /home/mysql/data/mysqld.sock

gtid_mode=ON
enforce_gtid_consistency=on
user = mysql
port            = 3306
server-id       = 1
core-file
binlog_format = ROW
log_output = FILE
character_set_server = utf8
auto_increment_increment = 1
auto_increment_offset = 1
query_cache_type = 0
long_query_time = 3
max_connections = 1024
max_connect_errors = 10240
#local_infile = 0
general_log = OFF
slow_query_log = ON
relay-log = mysqld-relay-bin
expire_logs_days = 3
innodb_io_capacity = 500 # SSD 2000 ~ 20000
innodb_flush_method = O_DIRECT
innodb_log_file_size = 1G
innodb_lock_wait_timeout = 100
innodb_buffer_pool_size = 1G
innodb_print_all_deadlocks = ON
#innodb_additional_mem_pool_size = 32M
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_autoextend_increment = 64
innodb_thread_concurrency = 0
#innodb_old_blocks_time = 1000
innodb_buffer_pool_instances = 8
thread_cache_size = 200
innodb_lru_scan_depth = 512
innodb_flush_neighbors = 1

innodb_checksum_algorithm = crc32
table_definition_cache = 8192
innodb_buffer_pool_dump_at_shutdown = on
innodb_buffer_pool_load_at_startup = on
innodb_read_io_threads = 4
innodb_adaptive_flushing = ON
innodb_log_buffer_size = 32M
innodb_purge_threads = 2
performance_schema = ON
innodb_write_io_threads = 4
#skip-name-resolve = ON
#skip_external_locking = ON
max_allowed_packet = 64M
table_open_cache = 8192
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
lower_case_table_names = 1
log_bin_trust_function_creators = 1
slave_net_timeout = 30
innodb_adaptive_hash_index=off
innodb_adaptive_flushing_lwm=50
innodb_log_write_ahead_size=16384
innodb_flush_log_at_timeout=1
log_timestamps=system
innodb_random_read_ahead=ON
innodb_change_buffering=none
#validate_password_policy=LOW
#validate_password_mixed_case_count = 0
#validate_password_number_count = 0

高版本有一个报错,删除一个属性配置即可。

然后注意配置文件定义好的目录,去创建对应目录,不然后面会报错

mkdir /home/mysql/data

mkdir /usr/local/mysql

mkdir /home/mysql/tmp/

mkdir /home/mysql/binlog

文件夹需要授权

chown -R mysql:mysql /home/mysql

注意配置文件的两个地址,下面初始化会用到:

basedir = /usr/local/mysql

datadir = /home/mysql/data

初始化MySQL

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data

注意查看日志文件

cd /home/mysql/data

cat mysql-error.log

如果没有报错,这里面的内容大概是这样的

2020-01-03T01:20:10.072442-08:00 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 100 200 300 400 500 600 700 800 900 1000 100 200 300 400 500 600 700 800 900 1000 100 200 300 400 500 600 700 800 900 10002020-01-03T01:20:12.381557-08:00 0 [Warning] InnoDB: New log files created, LSN=457912020-01-03T01:20:12.426037-08:00 0 [Warning] InnoDB: Creating foreign key constraint system tables.2020-01-03T01:20:12.495351-08:00 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 3eb70318-2e0a-11ea-a5e4-000c29050520.2020-01-03T01:20:12.497215-08:00 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.2020-01-03T01:20:12.500067-08:00 1 [Note] A temporary password is generated for root@localhost: 9Myi??wpSpXO

#a9QPa?A4?lr

最后的 9Myi??wpSpXO 是root用户的初始化密码,在第一次登录MySQL时使用

如果出现报错,也去查看日志文件报错情况,按具体问题处理,报错处理完以后一般需要清空data文件夹下生成的所有文件,然后再重新进行初始化,否则初始化会报错:

2020-01-03T01:08:22.596631-08:00 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.

把/home/mysql/data文件夹属性改为mysql用户

cd /home/mysql

chown -R mysql data

6.启动MySQL

[root@localhost  mysql]#/usr/local/mysql/bin/mysqld_safe --user=mysql &

[1] 4847

查看进程

[root@localhost mysql]# ps aux | grep mysqld

root 4847 0.1 0.0 106192 1572 pts/3 S 01:27 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql

mysql 5897 0.8 14.4 2082172 275228 pts/3 Sl 01:27 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/home/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/home/mysql/data/mysql-error.log --pid-file=/home/mysql/data/mysqld.pid --socket=/home/mysql/data/mysqld.sock --port=3306

root 5927 0.0 0.0 103304 900 pts/3 S+ 01:27 0:00 grep mysqld

7.通过初始密码登录MySQL并修改密码

[root@localhost mysql]# /usr/local/mysql/bin/mysqladmin -uroot -p password

Enter password: 初始密码(日志文件里面的内容 9Myi??wpSpXO )

New password: 新密码

Confirm new password:再次输入密码

Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

8.关闭MySQL服务,查看是否成功

[root@localhost mysql]# /usr/local/mysql/bin/mysqladmin -uroot -p shutdown

Enter password:root

2020-01-03T09:31:01.197162Z mysqld_safe mysqld from pid file /home/mysql/data/mysqld.pid ended[1]+ Done /usr/local/mysql/bin/mysqld_safe --user=mysql

9.设置开机自启

复制文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

增加mysql 服务控制脚本执行权限

[root@localhost mysql]# chmod +x /etc/init.d/mysql

将mysql服务加入到系统服务

[root@localhost mysql]# chkconfig --add mysql

检查mysql是否生效

[root@localhost mysql]# chkconfig --list mysql

mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

显示已经生效

以后就可以使用service命令控制mysql的启动和停止了

[root@localhost mysql]# service mysql start

Starting MySQL. SUCCESS!

10.配置全局环境变量

[root@localhost mysql]# vi /etc/profile

在最后增加:

PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

export PATH

使设置的环境变量生效:

[root@localhost mysql]# source /etc/profile

11.登录数据库

su - mysql

mysql -uroot -proot

完成

四、常见命令

一、mysql服务器执行sql

1,将要导入的.sql文件移至/home/mysql/sql文件下,这样的路径比较方便

2,进入MySQL:mysql -u用户名 -p密码

如我输入的命令行:mysql -uroot -proot (输入同样后会让你输入mysql的密码)

3,新建一个名为blog的目标数据库 mysql>create database blog;

4.输入:mysql>use 目标数据库名

如我输入的命令行:mysql>use blog;

5,导入文件:mysql>source 导入的文件名;

如我输入的命令行:mysql>source /home/mysql/sql/blog.sql;

二、mysql ip访问权限

1. 授权用户root使用密码root从任意主机连接到mysql服务器:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush privileges;

2.授权用户root使用密码jb51从指定ip为218.12.50.60的主机连接到mysql服务器:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'218.12.50.60' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush privileges;

三、新建数据库

CREATE DATABASE nacos_config DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

四、重启mysql

service mysql start (5.5.7版本命令)

service mysqld stop

/etc/inint.d/mysqld start

/etc/inint.d/mysqld stop

service mysqld restart 

service mysql restart (5.5.7版本命令)

五、用户

查询用户密码 mysql> select host,user,authentication_string from mysql.user;

设置(或修改)root用户密码 mysql> use mysql

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

mysql> flush privileges;  

退出:mysql> quit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值