MySQL安装和配置以及数据导入
2021/10/21 19:09:44
本文主要是介绍MySQL安装和配置以及数据导入,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.ubuntu安装mysql
sudo apt-get install mysql-server 查看mysql 状态 systemctl status mysql 登录mysql sudo mysql -u root -p
2.访问mysql需要加sudo
sudo mysql -uroot -p 命令行修改root密码: mysql> use mysql; mysql> select user, host from user; mysql> UPDATE mysql.user set plugin='mysql_native_password' WHERE user='root'; mysql> FLUSH PRIVILEGES; mysql -uroot -p 查看版本 mysql> select version();
3.远程访问
步骤01. vim /etc/mysql/mysql.conf.d/mysqld.cnf 修改配置文件mysqld.conf, 注释掉: #bind_address=127.0.0.1 表示只允许本地访问,注释掉该行 步骤02. 打开MySQL root用户的远程访问权限: use mysql; update user set host = "%" where user = "root"; flush privileges; 关闭MySQL root用户远程访问权限 use mysql; update user set host = "localhost" where user = "root" and host = "%"; --delete from user where user = "root" and host = "%";; flush privileges; reload #不关闭UNIT的情况下重新载入配置文件,让配置生效,只重新加载.conf类的文件 重启mysql服务或者重新载入配置文件
创建库
1.创建数据库 show variables like '%character%'; create database if not exists my_database default character set = 'utf8'; 2.创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; create user '用户'@'%' identified by '密码'; grant all privileges on *.* to '用户'@'%' ; FLUSH PRIVILEGES; 3.其他 show databases; show global variables like 'wait_timeout'; -- show status \G --show charset;
加载数据
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES set update_time=NOW() ; delete from data_dem where id = 122; truncate table data_dem; select * from data_dem limit 10 \G select count(1) from data_dem ; alter database data_dem character set utf8mb4;
排查
查看网络情况 ip ping port sudo lsof -i:3306 iptables ###查看mysql情况 服务状态 systemctl status mysql 是否开放远程连接 /etc/mysql/mysql.conf.d/mysqld.cnf
配置文件
default-authentication-plugin=mysql_native_password character-set-server=utf8 character-set-filesystem=utf8 max_connections=1000
mysql集群
主从复制 多主复制或环形复制 主从复制技术 01.master将改变记录到二进制日志(binary log)。这些记录过程叫做二进制日志事件,binary log events; 02.slave 将 master 的 binary log events 拷贝到它的中继日志(relay log) ; 03.slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步的且串行化的 04.slave会从master读取binlog来进行数据同步 复制的原则 每个slave只有一个master 每个slave只能有一个唯一的服务器ID 每个master可以有多个salve 1.配置文件 主服务器配置 1.【必须】主服务器唯一ID server-id =1 2.【必须】启用二进制日志 log_bin = /mysql/log/mysql-bin log-bin=自己本地的路径/mysqlbin 例如: log_bin=master-bin 把这段话必须放到 [mysqld] 标签下 -- log-bin配置项表示binlog的base name,产生的日志文件名称类似,master-bin.00001,master-bin.00002,master-bin.00003 -- sync_binlog=1了,表示每次事务提交,MySQL都会把binlog刷下去,是最安全但是性能损耗最大的设 log_bin=master-bin server-id=1 sync_binlog=1 从服务器配置 1.【必须】从服务器唯一ID server-id=2 2.主从中的mysql内执行命令配置 01.在主机上建立账户并授权slave 02.从机执行 change master 用于配置和改变 slave 服务器用于连接 master 服务器的参数, 以便 slave服务器读取 master 服务器的 binlog 及 slave 服务器的 relay log。 同时更新 master.info 及 relay-log.info信 执行 change master 命令后的信息保存在 master.info 和 relay-log.info 两个文件中 3. MySQL 查询 mysql> show variables like 'log_bin'; -- show master status命令列出了日志位点信息,包括binlog file,binlog position等 mysql> show master status -- log-bin的配置名称 -- server是slave,则执行show slave status中 mysql > show slave status\G 4.说明 01. MySQL Replication在Master端开启binlog, Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。 02.通过使用mysqlbinlog工具来使恢复数据 03.日志位置 binlog是二进制文件,普通文件查看器cat more vi等都无法打开,须使用自带的 mysqlbinlog 命令查看 binlog日志与数据库文件在同目录中 mysql> show binlog events in
参考:
ubuntu18.04每次访问mysql需要加sudo问题 https://www.cnblogs.com/wlzx-dic/p/14068364.html MySQL允许远程访问 https://www.cnblogs.com/Deaseyy/p/13420245.html mysql中如何在创建数据库的时候指定数据库的字符集 https://www.cnblogs.com/bulh/articles/10609198.html
这篇关于MySQL安装和配置以及数据导入的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程