MySQL5.6与MySQL5.7的搭建有一些不一样。请读者仔细阅读笔者搭建的过程,如发现错误,请反馈给我,让我们共同学习和进步,共同在DT这一条道路上越走越远。向每一位读者执意诚挚的敬意。
(*).OS环境:Red Hat Enterprise Linux 7.4
(*).数据库版本:MySQL 5.6.37 和MySQL5.7.19
一、MySQL5.6的单实例搭建
新建software目录
mkdir /software
用Xftp5 上传MySQL5.6 到/software下
mkdir -p /usr/local/
把软件上传到/usr/local/目录下进行解压
[root@localhost software]# tar -zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
为了方便,同时不让人看清所用的产品版本,保证商业的机密性。然后把 mysql-5.6.37-linux-glibc2.12-x86_64 更名为mysql
[root@localhost local]# mv mysql-5.6.37-linux-glibc2.12-x86_64/ mysql
添加mysql用户
[root@localhost local]# useradd mysql
最后授权mysql
[root@localhost local]# chown mysql:mysql -R /usr/local/mysql
查看授权情况
2.创建数据目录(datadir):
mkdir -p /data/mysql3306
对数据目录授权
[root@localhost data]# chown mysql:mysql -R data/mysql3306 授权 mysql
查看授权情况
##################### mysql5.6 配置文件#############################################
[client]
port = 3306
socket = /tmp/mysql.sock
#default-character-set=utf8
[mysql]
#default-character-set=utf8
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql
open_files_limit = 3072
back_log = 103
max_connections = 512
max_connect_errors = 100000
table_open_cache = 512
external-locking = FALSE
max_allowed_packet = 128M
sort_buffer_size = 2M
join_buffer_size = 2M
thread_cache_size = 51
query_cache_size = 32M
tmp_table_size = 96M
max_heap_table_size = 96M
slow_query_log = 1
slow_query_log_file = /data/mysql3306/slow.log
log-error = /data/mysql3306/error.log
long_query_time = 0.05
server-id = 1233306
log-bin = /data/mysql3306/mysql-bin
sync_binlog = 1
binlog_cache_size = 4M
max_binlog_cache_size = 128M
max_binlog_size = 1024M
expire_logs_days = 7
key_buffer_size = 32M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
character-set-server=utf8
default-storage-engine=InnoDB
binlog_format=row
#gtid_mode=on
#log_slave_updates=1
#enforce_gtid_consistency=1
interactive_timeout=100
wait_timeout=100
transaction_isolation = REPEATABLE-READ
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 1434M
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 16M
innodb_log_file_size = 256M
innodb_log_files_in_group = 2
innodb_max_dirty_pages_pct = 50
innodb_file_per_table = 1
innodb_locks_unsafe_for_binlog = 0
[mysqldump]
quick
max_allowed_packet = 32M
cd /usr/local/mysql/scripts
执行./mysql_install_db 这个脚本
./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/mysql 3306--defaults-file=/etc/my3306.cnf --user=mysql
查看初始化mysql生成的文件
cd /data/mysql3306/
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf --user=mysql &
查看mysql是否启动成功
[root@localhost bin]# ps -ef|grep mysql
由于CentOS 6 和CentOS 7 设置开机自启动有一点儿不一样,故首先查看操作系统版本
cat /proc/version
vim /usr/lib/systemd/system/mysql.service
添加如下内容
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf --user=mysql
LimitNOFILE = 5000
启动MySQL 服务
systemctl start mysql.service
设置开机自启动
systemctl enable mysql.service
vim /etc/rc.local
在最后一行加上
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf --user=mysql &
在文件 vim /etc/profile 添加 export PATH=$PATH:/usr/local/mysql/bin
并且要让环境变量生效
[root@localhost ~]# source /etc/profile
直接输入mysql 进入库中(全量路径)
在MySQL5.6中查看mysql 的信息
mysql> show databases;
mysql> use mysql;
mysql> select host,user,Password from user;
这里面有六条信息,我们只需要保留root和localhost即保留第一行
mysql> delete from user where host!='localhost' or user!='root';
mysql> select host ,password,user from user;
我们查询发现,Szzx.888变成了暗文加密的形式
mysql> flush privileges;
退出mysql数据库,再次输入mysql 发现不能进去了,则代表密码添加成功
输入密码Szzx.888就进入了mysql
[root@localhost ~]# mysql -uroot -p
Enter password:
9.添加MySQL root用户远程连接
mysql> use mysql;
mysql> update user set host=’%’ where user=’root’;
mysql> flush privileges;
再次查看MySQL的用户连接情况
这种结果表明可以用root 用户进行远程连接操作
1.创建家目录(basedir):
mkdir -p /usr/local/
把软件上传到/usr/local/目录下进行解压
[root@localhost software]# tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
然后把 mysql-5.7.19-linux-glibc2.12-x86_64 更名为mysql
[root@localhost local]# mv mysql-5.7.19-linux-glibc2.12-x86_64/ mysql
添加mysql用户并对mysql用户授权
[root@localhost local]# useradd mysql
[root@localhost local]# chown mysql:mysql -R mysql
2.创建数据目录(datadir):
mkdir -p /data/mysql
cd /data/mysql
[root@localhost mysql]# cd ..
授权 mysql(一定要级联授权)
[root@localhost data]# chown mysql:mysql -R mysql
3、配置文件: vi /etc/my.cnf
[client]
port = 3306
socket = /data/mysql/mysql.sock
[mysql]
prompt="\u@db \R:\m:\s [\d]> "
no-auto-rehash
[mysqld]
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql/
socket = /data/mysql/mysql.sock
pid-file = db.pid
character-set-server = utf8mb4
skip_name_resolve = 1
open_files_limit = 65535
back_log = 1024
max_connections = 512
max_connect_errors = 1000000
table_open_cache = 1024
table_definition_cache = 1024
table_open_cache_instances = 64
thread_stack = 512K
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 4M
join_buffer_size = 4M
thread_cache_size = 768
query_cache_size = 0
query_cache_type = 0
interactive_timeout = 600
wait_timeout = 600
tmp_table_size = 32M
max_heap_table_size = 32M
slow_query_log = 1
slow_query_log_file = /data/mysql/slow.log
log-error = /data/mysql/error.log
long_query_time = 0.1
server-id = 3306101
log-bin = /data/mysql/mybinlog
sync_binlog = 1
binlog_cache_size = 4M
max_binlog_cache_size = 1G
max_binlog_size = 1G
expire_logs_days = 7
gtid_mode = on
enforce_gtid_consistency = 1
log_slave_updates
binlog_format = row
relay_log_recovery = 1
relay-log-purge = 1
key_buffer_size = 32M
read_buffer_size = 8M
read_rnd_buffer_size = 4M
bulk_insert_buffer_size = 64M
lock_wait_timeout = 3600
explicit_defaults_for_timestamp = 1
innodb_thread_concurrency = 0
innodb_sync_spin_loops = 100
innodb_spin_wait_delay = 30
transaction_isolation = REPEATABLE-READ
#innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 1024M
innodb_buffer_pool_instances = 8
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_data_file_path = ibdata1:1G:autoextend
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 32M
innodb_log_file_size = 2G
innodb_log_files_in_group = 2
innodb_max_undo_log_size = 4G
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_flush_neighbors = 0
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_purge_threads = 4
innodb_page_cleaners = 4
innodb_open_files = 65535
innodb_max_dirty_pages_pct = 50
innodb_flush_method = O_DIRECT
innodb_lru_scan_depth = 4000
innodb_checksum_algorithm = crc32
innodb_lock_wait_timeout = 10
innodb_rollback_on_timeout = 1
innodb_print_all_deadlocks = 1
innodb_file_per_table = 1
innodb_online_alter_log_max_size = 4G
internal_tmp_disk_storage_engine = InnoDB
innodb_stats_on_metadata = 0
innodb_status_file = 1
innodb_status_output = 0
innodb_status_output_locks = 0
performance_schema = 1
performance_schema_instrument = '%=on'
innodb_monitor_enable="module_innodb"
innodb_monitor_enable="module_server"
innodb_monitor_enable="module_dml"
innodb_monitor_enable="module_ddl"
innodb_monitor_enable="module_trx"
innodb_monitor_enable="module_os"
innodb_monitor_enable="module_purge"
innodb_monitor_enable="module_log"
innodb_monitor_enable="module_lock"
innodb_monitor_enable="module_buffer"
innodb_monitor_enable="module_index"
innodb_monitor_enable="module_ibuf_system"
innodb_monitor_enable="module_buffer_page"
innodb_monitor_enable="module_adaptive_hash"
[mysqldump]
quick
max_allowed_packet = 32M
4、添加环境变量
vi ~/.bash_profile
在里面添加如下内容
MYSQL_HOME=/usr/local/mysql
export MYSQL_HOME
PATH=$MYSQL_HOME/bin:$PATH
export PATH
同时,生效环境变量
source ~/.bash_profile
5.初始化数据库:
cd /usr/local/mysql/bin/
./mysqld --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql/ --initialize-insecure
启动MySQL
./mysqld_safe --defaults-file=/etc/my.cnf &
[root@localhost bin]# ./mysql
在MySQL5.7中修改密码为123123
use mysql;
[mysql]> SET PASSWORD=PASSWORD('123123');
[mysql]> flush privileges;
[root@localhost ~]# mysql -uroot -p
Enter password: 输入密码123123就进入了mysql
查看MySQL的用户,密码
select host,user,authentication_string from mysql.user;
注意:此root 用户只能是本地连接
6.添加MySQL root用户远程登录
mysql> use mysql;
mysql> update user set host=’%’ where user=’root’;
注意:一定要刷新权限
查看结果
select host,user,authentication_string from mysql.user;
mysql> flush privileges;
这种结果表示修改成功,可以远程操作数据库。
MySQL 5.6:初始化数据时需要进到家目录的 script 目录下
执行:/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/
--datadir=/data/mysql --defaults-file=/etc/my.cnf --user=mysql
注意:此数据库的密码为空。
MySQL 5.7:初始化数据时需要进到家目录的 bin 目录下
执行:/usr/local/mysql/bin/mysqld --user=mysql --datadir=/data/mysql
--basedir=/usr/local/mysql/ --initialize
显然已经废弃了使用 mysql_install_db 这个命令进行初始化数据的操作了。
注意:--initialize 会自动生成随机密码在 error log 里面。如果加 --initialize-insecure 表示 密码为空。
文章浏览阅读1.3w次,点赞6次,收藏51次。Deepin20.2.4安装Nvidia驱动教程在安装Deepin系统的时候,“安装Nvidia闭源驱动”不要勾选。一、安装Deepin显卡驱动管理器直接通过深度应用商店搜索安装即可,安装后切换为“使用Inter默认驱动”。二、删除并禁用NVIDIA开源驱动Nouveau由于我们在安装Deepin的时候没有选择“安装Nvidia闭源驱动”,故该步骤可以省略。sudo apt autoremove nvidia-*接下来我们需要编辑blacklist文件来禁用Nouveau:sudo de_deepin安装nvidia驱动
文章浏览阅读1.2k次。mybatisplus模糊查询中文时 有数据但 like查不到原因是数据库的配置没有配置UTF-8_gis模糊查询like用不了
文章浏览阅读1.2w次,点赞9次,收藏34次。从整体上看,程序员的职业发展可以分为 4 条路线,分别是工作、SOHO、创业和投资,它们的难度逐次递增,人生阶层也逐次递增。当然这个路线也不是固定的,可能随时切换,比如你放弃了工作可以 SOHO,你创业失败了可以继续工作。除了程序员,基本所有职业的发展路线都可以分为这 4 种。我们先给出程序员职业发展的详细路线图,并把它们放在不同的象限中,然后再详细说明一下各个方向。注:此图改编自《程序员必读的职业规划书》中分享的一张图1. 工作这是大部分程序员都会选择的职业发展路线,即使那些功成名就的程序员,_程序员职业规划路线
文章浏览阅读6k次。mysql 在计算avg() 时 会自动将null值过滤掉不参与计算,因为NULL与数字不同0。从概念上讲,它NULL意味着“缺失的未知值”,并且与其他值的处理方式略有不同。这就是像ignore s 这样的聚合函数。AVG()NULLAVG()仅计算所有已知值的平均值。(=不是NULL =未知)来自MySQL文档:除非另有说明,否则组函数会忽略NULL值。另外,请阅..._avg null
文章浏览阅读1.2w次。今天上午,我编辑文章时,发现不能正常上传图片了一开始感觉很奇怪,因为昨天我用着还正常,想到昨天我对我的电脑的安全环境进行了全面的检查和修复,感觉是因为我的电脑环境的问题。百度了一下,答案有很多,大都是建议修改ueditor编辑器的配置,或者检查一下服务器的文件目录的权限设置。查看一下服务器目录文件的权限设置,没发现什么问题。至于修改网站程序,我感觉不是太靠谱,先排查一下吧。我用ftp打开网站空间,..._ce1启动操作超时,请检查与服务器的链接后重试
文章浏览阅读1.1k次。TCN时间卷积神经网络数据回归预测(多输入单输出)完整的代码,方可运行;可提供运行操作视频!适合小白!_时间卷积神经网络(tcn)输入层
文章浏览阅读277次。[url=http://select.yeeyan.org/view/213582/202991]针对多点触控浏览器进行的开发[/url]在本文中,我会深入研究iOS和Android设备提供的触摸事件API,探索一下可以构建哪些类型的应用,给出一些最佳做法,并论及一些使得可触控应用(touch-enabled application)的开发变得更加容易的有用技术。前言诸如智能手..._ubuntu 多点触控开发
文章浏览阅读385次。一公司领导通知员工公司准备对全体员工做出降薪30%的决定,对此该公司员工表示不同意,一名程序员发帖怒怼:为了不让领导做如此艰难的决定,所以本人表示拒绝。2018年受金融大环境的影响,众多企业不可避免的进入了行业低迷期,这一年对我们来说,也是无比艰难,困难重重。为了尽快走出困境,公司只能开源节流,降低各项成本与开支。结合公司现状,也考虑到总体行业不景气,再就业困难等实际情况,公司领导做出了非常艰..._开源节流吐槽
文章浏览阅读2.8k次。关于昨天的送书活动,已经在截止时间进行了截图(请直接拉到文末),以下点赞top5的同学请加我微信哈(后台输入“好友”即可获取方式),若明天中午前未添加好友就会顺位下一位朋友哈~导读:在互..._日全量表
文章浏览阅读287次。环境CentOS7.2 (安装镜像CentOS-7-x86_64-DVD-1611)目标在CentOS7.2上安装jdk1.8(tar.gz安装包),并配置环境变量jdk安装在/home/soft/jdk1.8.0-111目录下执行步骤1、检查和删除系统预装jdk//如果操作系统不是最小安装,会默认安装openjdk#rpm -qa |..._export java_home=/home/你的 户名/software/jdk1.8.0_77用法
文章浏览阅读913次,点赞8次,收藏25次。你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!!
文章浏览阅读1.2k次,点赞72次,收藏62次。使用这个主题注释的颜色会有点浅不好看清,可以再字体和颜色里修改一下注释的颜色,改成绿色挺好看清。更换完主题后就可以享受自己的全新vs了(外貌全新)。主题的名字叫NightOwl,和vscode的主题颜色挺像的。操作方法也十分简单,首先我们先在最上面哪一行找到扩展。安装完毕后在最上方那一栏找到工具选项(就在扩展左边),点击最下面的选项。最近发现了一个很好看的vs主题(个人认为挺好看的),想要分享给大家。然后点击管理扩展,再搜索栏上搜索NightOwl,下载这个插件。然后就可以更换主题了。_vscode插件nightowl