在脚本中如何数据库添加IP和端口号
时间: 2023-11-13 15:02:27 浏览: 159
在脚本中连接Oracle数据库时,可以使用以下格式指定数据库的IP地址和端口号:
```bash
sqlplus -S username/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ip_address)(PORT=port))(CONNECT_DATA=(SID=database_name))) <<-EOF
# SQL查询语句
exit;
EOF
```
在以上格式中,`ip_address`是数据库服务器的IP地址,`port`是数据库服务器的监听端口号,`database_name`是要连接的数据库实例的名称。你需要将这三个参数替换为你自己的值。
注意,以上格式中的括号和等号是必须的,不要省略。如果你使用的是Oracle的服务名(Service Name)而不是实例名(Instance Name),则需要将`SID`改为`SERVICE_NAME`。
相关问题
写一个shell脚本 脚本输入参数:mysql端口号,mysql密码,mysql所在ip,MySQL的表(多个表逗号间隔),mysql表的列名(多个列逗号间隔) 脚本要求:循环判断mysql是否可登录,当可登录删除mysql表的列,并切换到MySQL用户,重启数据库,并重建这些表
好的,我来为您编写这个脚本。
```bash
#!/bin/bash
# 检查参数是否正确
if [ $# -lt 5 ]; then
echo "Usage: $0 <mysql_port> <mysql_password> <mysql_host> <mysql_tables> <mysql_columns>"
exit 1
fi
# 获取参数
mysql_port=$1
mysql_password=$2
mysql_host=$3
mysql_tables=$4
mysql_columns=$5
# 循环判断mysql是否可登录
while ! mysqladmin ping -h$mysql_host -P$mysql_port -p$mysql_password --silent; do
echo "MySQL is not available, waiting for 5 seconds..."
sleep 5
done
# 删除mysql表的列
mysql -h$mysql_host -P$mysql_port -p$mysql_password << EOF
USE mysql;
ALTER TABLE $mysql_tables DROP COLUMN $mysql_columns;
EOF
# 切换到MySQL用户
sudo -u mysql /etc/init.d/mysql restart
# 重建这些表
mysql -h$mysql_host -P$mysql_port -p$mysql_password << EOF
USE mysql;
DROP TABLE IF EXISTS $mysql_tables;
CREATE TABLE $mysql_tables (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id));
EOF
echo "Done."
```
使用方法:
```bash
./script.sh <mysql_port> <mysql_password> <mysql_host> <mysql_tables> <mysql_columns>
```
其中,`<mysql_tables>` 和 `<mysql_columns>` 都可以使用逗号分隔多个表或列。例如:
```bash
./script.sh 3306 mypassword 127.0.0.1 db1.table1,db2.table2 column1,column2,column3
```
这个脚本会不断地检查 MySQL 是否可登录,如果不可登录,则会等待 5 秒钟后再次尝试。如果 MySQL 可登录,则会删除指定表的指定列,然后切换到 MySQL 用户,重启数据库,最后重新创建指定的表。
写一个bat脚本,执行sql文件,该sql文件包含多个数据库的创建,也包含多个数据库下的表的创建,该bat脚本的作用就是往指定ip、端口、用户名、密码的MySQL数据库中执行上面的sql文件
可以使用以下命令来执行sql文件:
mysql -h [ip地址] -P [端口号] -u [用户名] -p[密码] < [sql文件路径]
其中,-h后面跟要连接的MySQL服务器的IP地址,-P后面跟端口号,-u后面跟用户名,-p后面跟密码(注意,这里的密码与 -p之间不能有空格),<后面跟sql文件的路径。
在bat脚本中,可以将上述命令写入脚本并保存,文件名以.bat结尾,然后执行该脚本即可。
示例代码:
mysql -h 127.0.0.1 -P 3306 -u root -p123456 < C:\sql.sql
其中,127.0.0.1为MySQL服务器IP地址,3306为端口号,root为用户名,123456为密码,C:\sql.sql为要执行的sql文件路径。
阅读全文